Ein Leitfaden zum Ausführen von Traceroute in Linux

Wenn Sie herausfinden müssen, wohin Ihre Pakete gehen, sobald sie Ihren Linux-Computer verlassen, ist Traceroute auf Linux Ihr Freund.

Traceroute ist ein praktisches Dienstprogramm, das auf nahezu jeder Linux-Distribution verfügbar ist und verfolgt, über welche Router Ihre Netzwerkpakete über ein Netzwerk geleitet werden. Dieses Dienstprogramm ist nützlich für Fehlerbehebung oder einfache Netzwerkplanung.

Nicht jede Linux-Distribution enthält das gleiche Paket für den Befehl traceroute. Einige Distributionen verwenden das veraltete inetutils-Paket, das Traceroute als Teil einer Suite von Netzwerktools enthält, während andere ein modernes traceroute.x86_64-Paket haben.

Verwandt: So verwenden Sie Traceroute in Windows 10 (Tracert)

Inspektion der Traceroute-Parameter

Zum Einstieg wollen wir uns zunächst ansehen, was mit dem Linux-Traceroute-Befehl möglich ist.

Öffnen Sie ein Terminal und geben Sie den Befehl traceroute -? ein, um Zugang zur Manpage zu erhalten:

Usage: traceroute [OPTION...] HOST
Print the route packets trace to network host.

  -f, --first-hop=NUM        set initial hop distance, i.e., time-to-live
  -g, --gateways=GATES       list of gateways for loose source routing
  -I, --icmp                 use ICMP ECHO as probe
  -m, --max-hop=NUM          set maximal hop count (default: 64)
  -M, --type=METHOD          use METHOD (`icmp' or `udp') for traceroute
                             operations, defaulting to `udp'
  -p, --port=PORT            use destination PORT port (default: 33434)
  -q, --tries=NUM            send NUM probe packets per hop (default: 3)
      --resolve-hostnames    resolve hostnames
  -t, --tos=NUM              set type of service (TOS) to NUM
  -w, --wait=NUM             wait NUM seconds for response (default: 3)
  -?, --help                 give this help list
      --usage                give a short usage message
  -V, --version              print program version

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.

Report bugs to <bug-inetutils@gnu.org>.

Wie Sie oben sehen können, haben Sie viele Optionen, um anzupassen, wie Traceroute funktioniert.

Grundlegende Traceroute-Funktionalität

Obwohl Sie Parameter zum Anpassen des Traceroute haben, benötigen Sie nicht alle. Sie können tatsächlich einfach den Traceroute ausführen und den Zielhost angeben. Wie Sie unten sehen können, sendet der Traceroute auf Linux ein 60-Byte-Paket und verfolgt jeden Hop, den er nimmt, um zum Zielhost zu gelangen.

Er kann diese Hops verfolgen, indem er für jedes Paket eine Time-to-Live (TTL) verwendet, die bei jedem Durchlauf um eins verringert wird, um festzustellen, wann das Paket nicht mehr empfangen wird.

Traceroute to google.com

Beachten Sie, dass der Traceroute eine maximale Anzahl von Hops hat. Er geht maximal bis zu 30 Hops.

Schalter zum präziseren Verfolgen hinzufügen

Die Standardfunktion des Traceroute auf Linux funktioniert gut, aber es gibt noch viel mehr, was Sie tun können. Lassen Sie uns nun viele der beliebtesten und nützlichsten Schalter behandeln, die Ihnen zur Verfügung stehen.

Ausschluss von Hops mit dem First-Hop-Schalter

Mit einem hilfreichen Befehl können bestimmte Router von der Verfolgung ausgeschlossen werden. Mit dem Parameter -f oder --first-hop=NUM können Sie bestimmte Router vom Anzeigen ausschließen. Dies könnte sehr nützlich sein, wenn Sie sicher sind, dass ein oder mehrere Router keine Probleme verursachen.

Sie können auch den Schalter -f verwenden, um die Verfolgung nach Ihrem Netzwerkperimeter zu beginnen und mögliche Ursachen für Latenz im Internet einzuschränken.

In der folgenden GIF-Datei können Sie den Befehl traceroute -f 3 google.com in Aktion sehen. Dieser Befehl überspringt die ersten drei Router und umgeht somit mein Heimnetzwerk und den ISP-Router. Beachten Sie, dass die ersten beiden Sprünge fehlen.

traceroute -f example

Es dauert 15 Sprünge, um www.google.com von meinem Netzwerk aus zu erreichen. Sie sehen:

  • Anzahl der Sprünge
  • Hostname oder IP des Routers entlang des Pfads
  • Antwortzeiten wie zuvor

In der Ausgabe können Sie für einige Sprünge zusätzliche Schnittstellen sehen. Das ist normal.

Begrenzung der Sprünge mit dem Max-Hop-Schalter

Nehmen wir nun an, Sie möchten neben dem Überspringen der ersten beiden Sprünge auch den Pfad bis zum fünften Sprung in der Route sehen. Hier verwenden Sie den Schalterparameter -m oder --max-hop=NUM.

Geben Sie den Befehl traceroute -m 5 -f 3 http://www.google.com in Ihr Terminal ein und drücken Sie Enter. Dieser Befehl ist nützlich, um potenzielle Routing-Probleme einzugrenzen. Traceroute überspringt nun die ersten beiden Sprünge und stoppt am fünften Sprung.

Traceroute skipping hops

Reduzierung der gesendeten Prüfpakete mit dem -Q-Schalter

Traceroute sendet standardmäßig drei Prüfpakete an jeden Router im Pfad. Möglicherweise möchten Sie die Laufzeit von traceroute verkürzen. Sie können die Anzahl der gesendeten Prüfpakete an jeden Router mit dem Parameter -q ändern.

Geben Sie traceroute -q -m 5 -f 3 www.google.com in Ihr Terminal ein und drücken Sie Enter. Sie können unten sehen, dass traceroute nur ein Paket sendet, da wir nur eine Antwortzeit pro Sprung erhalten.

traceroute -q 6 example

Sie können auch die Anzahl der Sondenpakete pro Sprung erhöhen, indem Sie ein Argument für den Parameter -q angeben, wie unten gezeigt. Durch Erhöhen der Anzahl der gesendeten Paketsonden kann die Durchschnittsantwortzeit für jeden Sprung ermittelt werden.

Argument for -q Parameter

Zusammenfassung

In diesem Artikel über Traceroute für Linux haben Sie die Grundlagen der Verwendung dieses praktischen Dienstprogramms gelernt. Es gibt noch so viel mehr, was Sie mit diesem Befehl tun können. Wenn Sie lernen möchten, wie Sie jeden Schalter verwenden, sollten Sie unbedingt die man-Seite überprüfen.

Source:
https://adamtheautomator.com/traceroute-linux/