Suchen

Definition Was ist Traceroute (tracert)?

Mit Hilfe des Windows-Befehls tracert (gesprochen: Traceroute) lässt sich der Weg eines IP-Pakets zu einem bestimmten Ziel nachverfolgen. Er ermittelt die Zwischenknoten und liefert Informationen zu den benötigten Laufzeiten. In anderen Betriebssystem wie Linux lautet der Befehl traceroute.

(© aga7ta - Fotolia)

Bei tracert handelt es sich um einen Kommandozeilenbefehl, der sich auf Windows-Rechnern ausführen lässt und den Weg eines IP-Datenpakets von der Quelle bis zu einem bestimmten Ziel ermittelt. Der Befehl liefert Informationen zu den Zwischenknoten und Routern, die das Paket vermitteln, und zeigt die Laufzeiten der verschiedenen Netzwerkhops.

Das Kommando tracert ist ein wichtiges Analysetool und ermöglicht die Diagnose von Netzwerkproblemen und Analyse von Netzstrukturen. Man kann ermitteln, ob ein Paket den erwarteten Weg zum Ziel nimmt oder über Umwege dorthin gelangt. Bei Ausfällen von Netzknoten zeigt das Ergebnis von tracert, welche alternativen Wege ein Paket zum Zielrechner zurücklegt.

Weitere wichtige Erkenntnisse liefert tracert in puncto Laufzeiten. So lässt sich feststellen, ob die Laufzeiten zwischen den einzelnen Hops im normalen Bereich liegen oder ob einzelne Netzabschnitte Problemen durch lange Laufzeiten verursachen. Eventuelle Bandbreiteengpässe oder Überlastungen sind mit dem Kommando eingrenzbar. Auch Netzwerkschleifen, die dazu führen, dass ein IP-Paket nicht beim Empfänger ankommt, sind mit tracert zu diagnostizieren.

Im Vergleich zum Befehl ping ist mit tracert nicht nur die generelle Erreichbarkeit des Zielrechners zu testen. tracert zeigt konkrete Informationen über den zurückgelegten Weg und die beteiligten Zwischenstationen im Netz. Auch in anderen Betriebssystemen ist dieser nützliche Netzwerkbefehl implementiert. Unter Linux lautet er traceroute.

Beim Verbindungstest mit tracert können sowohl Ziel-IP- als auch Rechner-Adressen oder Domainnamen angegeben werden. Im Fall von Domainnamen sorgt der Befehl vor dem Verbindungstest für die Adressauflösung zur Ermittlung der IP-Adresse. Der eigentliche Test erfolgt immer mit der IP-Adresse des Zielsystems. Über verschiedene Optionen des Befehls kann die Analyse der Netzwerkverbindung verfeinert werden. In Windows nutzt tracert ICMP-Nachrichten (Internet Control Message Protocol) für die Weg- und Laufzeitermittlung.

Die Funktionsweise von tracert

Um den Weg eines IP-Datenpakets vom Quell- zum Zielrechnern zu ermitteln, sendet der Befehl tracert mehrere ICMP-Echo-Request-Befehle mit der IP-Zieladresse. Das erste ICMP-Paket hat eine TTL (Time to Live) von eins. Da in IP-Netzen jeder Zwischenknoten (Router) bei der Weitervermittlung von IP-Paketen das TTL-Feld um eins verringern muss, zählt der erste Router die TTL herunter auf Null und verwirft das Datenpaket anschließend. Gleichzeitig sendet er an den Absenderrechner die ICMP-Nachricht "time to live exceeded in transit" mit der eigenen IP-Adresse als Absender. Der Absenderrechner nimmt die Antwort entgegen, hält die Zeit bis zum Eintreffen der Antwort fest und sendet das nächste ICMP-Echo-Request-Paket ab. Dieses hat eine TTL von zwei. Es gelangt auf seinem Weg zum Ziel bis zum zweiten Router. Dieser zählt die TTL wieder auf Null herunter, verwirft es und sendet "time to live exceeded in transit" an den Quellrechner.

Der tracert-Befehl erhöht die TTL so lange, bis ein erfolgreiches ICMP-Echo-Reply bei ihm eintrifft oder der festgelegte maximale TTL-Wert erreicht ist. Mit jeder Erhöhung des TTL-Werts gelangt das ICMP-Paket einen Netzwerkknoten weiter. Die gesammelten Adressen und festgehaltenen Laufzeiten charakterisieren den Weg zum Ziel. Diese Daten zeigt der Befehl tracert als Ergebnis an.

Meist liefert das Ergebnis je Hop drei Werte für die Laufzeit. In diesen Fällen hat das tracert-Programm jeweils drei Pakete mit identischer TTL hintereinander gesendet. Während die tracert-Prozedur auf Windows-Systemen auf ICMP-Nachrichten basiert, sendet traceroute auf Unix- oder Linux-Systemen UDP-Pakete. Das Grundprinzip ist jedoch gleich. Auch bei den UDP-Paketen wird die TTL so lange erhöht bis eine Nachricht vom Zielsystem eintrifft. In diesem Fall handelt es sich jedoch nicht um einen ICMP-Echo-Reply, sondern, da das UDP-Paket einen ungenutzten Port adressiert, um die Nachricht "destination unreachable" beziehungsweise "port unreachable".

Firewalls, IP-Tunnel, Systeme mit Network Address Translation (NAT) oder asymmetrische Wege auf Hin- und Rückweg können die Anzeige des tatsächlichen Wegs verfälschen oder verhindern. Oft werden die von der traceroute-Prozedur verwendeten Ports und Protokolle auf den Zwischenknoten bewusst geblockt, um Netzwerkstrukturen zu verbergen oder bestimmte Angriffsmethoden mit spezifischen Protokollen zu verhindern. Eine ähnliche Funktion wie tracert führt auf Windows-Systemen der Befehl pathping aus.

Die Syntax des Befehls

Für die Ausführung des Befehls auf einem Windows-basierten Rechner ist es zunächst erforderlich, eine Kommandozeilenoberfläche zu starten. Dies kann mit Hilfe der Eingabe von "powershell", "powershell.exe", "cmd" oder "cmd.exe" in der Ausführungszeile von Windows erfolgen. Innerhalb der Kommandozeilenoberfläche ist tracert gefolgt von einer Option und der Zieladresse in Form einer IP-Adresse oder eines Namens einzugeben. Das Ergebnis des Verbindungstests wird nach kurzer Zeit im Kommandozeilenfenster ausgegeben. Die Syntax von tracert lautet:

tracert -Option1 -Option2 -OptionN Zieladresse oder Zielname

Die möglichen Optionen des Befehls tracert

Der Befehl tracert unterstützt für die Durchführung des Verbindungstests eine Vielzahl verschiedener Optionen. Die wichtigsten Optionen lauten:

  • /?: Anzeige der Hilfe mit Syntax und allen möglichen Optionen
  • -d: Adressen nicht in Hostnamen auflösen
  • -h Hops: maximale Anzahl an Hops, die beim Verbindungstest ermittelt werden sollen
  • -j: Ausführung des Tests gemäß IPv4-Hostliste und "Loose Source Route"
  • -w: Festlegung eines Zeitlimits in Millisekunden für das Eintreffen der Antworten
  • -4: Ausführung des Verbindungstests mit IPv4
  • -6: Ausführung des Verbindungstests mit IPv6
  • -S Quelladresse: Festlegung der zu verwendenden Quelladresse bei IPv6
  • -R: Verfolgung des IPv6 Rundwegpfads

Die verschiedenen Optionen werden mit einem Leerzeichen getrennt nach dem Befehl tracert eingegeben. Am Ende folgt mit einem weiteren Leerzeichen getrennt die IP-Adresse oder der Rechnername des Ziels.

Beispiele für die Eingabe:

tracert -h 10 192.168.1.1
tracert -h 10 -4 www.google.de

Die von einem traceroute-Test gelieferten Informationen

Für jeden Zwischenknoten zeigt der Befehl eine eigene Ergebniszeile. Sie beinhaltet in der Regel die drei Zeiten in Millisekunden bis zum Eintreffen der Antwort und die IP-Adresse oder den Domainnamen des Hosts. Zeigt eine Zeile drei Sternchen und die Meldung "Zeitüberschreitung der Anforderung", hat der betreffende Router eine Antwort verweigert. Für diesen Zwischenknoten war es deshalb nicht möglich, die Zeiten zu ermitteln.

In den Zeilen, in denen Zeiten eingetragen sind, repräsentieren diese die so genannte Round Trip Time (RTT). Sie zeigt an, wie lange das Paket auf dem Hinweg und das Antwortpaket auf dem Rückweg in Addition gebraucht haben. Da jeweils drei Pakete mit gleicher TTL gesendet werden, existieren drei Zeiten je Zeile. Sind diese unterschiedlich, benötigen die Pakete jeweils verschiedene Zeiten zum gleichen Hop und wieder zurück. Starke Schwankungen der Round Trip Time zu einem Hop können auf große Netzlastschwankungen, eine hohe Routerauslastung oder auf Netzwerkprobleme hindeuten. Die Standardanzahl an Hops beträgt 30. Sie lässt sich mit der Option -h verändern.

Beispiel für die ausgegebenen Informationen eines traceroute-Verbindungstests:

Routenverfolgung zu google.de [172.217.17.227]
über maximal 30 Hops:

1 2 ms 2 ms 2 ms 192.168.2.1
2 27 ms 18 ms * 62.155.243.222
3 32 ms 24 ms 24 ms 217.239.42.234
4 24 ms 25 ms 24 ms 72.14.194.156
5 * * * Zeitüberschreitung der Anforderung.
6 24 ms 25 ms 24 ms 209.85.142.128
7 24 ms 24 ms 24 ms 108.170.227.207
8 26 ms 24 ms 25 ms muc11s14-in-f3.1e100.net [172.217.17.227]

Wofür sich ein

traceroute-Verbindungstest

verwenden lässt

traceroute ist ein sehr vielseitig einsetzbares Netzwerkdiagnosetool. Es kann beispielsweise für folgende Zwecke verwendet werden:

  • Prüfung der Route eines Datenpakets zu einem bestimmten Ziel
  • Prüfung auf eventuelle Umwege zum Ziel oder Routingschleifen im Netzwerk
  • Ermittlung der Laufzeiten zu den einzelnen Netzwerkhops
  • Identifizierung von Engpässen im Netz oder überlasteten Netzknoten
  • Prüfung auf verlorengegangene Datenpaketen auf bestimmten Teilstrecken
  • Ermittlung von ausgefallenen Netzknoten
  • Ermittlung von ungewolltem oder fehlerhaftem Routing im Netz

Was es bei der Anwendung des Befehls zu beachten gilt

Es gilt zu beachten, dass das Ergebnis nicht unbedingt den tatsächlichen Weg der Datenpakete im Netz widerspiegeln muss. Asymmetrisches Routing, Tunnelmechanismen, NAT oder Policy-Routing können dazu führen, dass Datenpakete einen anderen Weg nehmen, als das Ergebnis eines traceroute vermuten lässt.

Darüber hinaus können sich je nach verwendeter IP-Version, IPv4 oder IPv6, unterschiedliche Wege ergeben. Mit den Optionen -4 oder -6 kann ein traceroute mit IPv4 oder IPv6 erzwungen werden. Liefert ein traceroute kein Ergebnis, muss dies nicht bedeuten, dass die IP-Pakete an ihrem Ziel nicht ankommen. Unter Umständen verhindern Firewalls oder Netzknoten die korrekte Ausführung eines Verbindungstests.

Wird ein traceroute-Befehl mit einem Domainnamen ausgeführt, ist es für eine erfolgreiche Ausführung erforderlich, dass sich die IP-Adresse zum Namen auflösen lässt. Scheitert die Namensauflösung, liefert der traceroute einen Fehler, obwohl die IP-Adresse unter Umständen dennoch erreichbar ist. Kommen bei der Ausführung von tracert unterschiedliche Betriebssysteme wie Linux oder Windows zum Einsatz, ist es wichtig zu wissen, dass verschiedene traceroute-Verfahren per ICMP oder UDP verwendet werden können. Dies kann dazu führen, dass trotz gleichem Weg zum Ziel das Ergebnis des traceroute-Kommandos verschiedene Informationen liefert.

(ID:45103091)

Über den Autor