Was ist Traceroute (tracert)?
Das Windows-Tool Tracert und sein Linux-Pendant Traceroute bieten eine simple Lösung, um die Trace-Route der Datenpakete unter die Lupe zu nehmen. Anhand der Ergebnisse kann der Benutzer in Erfahrung bringen, welche einzelnen Stationen versendete Pakete auf dem Weg zum angepeilten Ziel passieren und wo Schwierigkeiten auftreten. Komplizierte Umwege oder ausgefallene Router werden identifiziert und die Problemlösung kann beginnen.
Traceroute ist ein Kommandozeilen-Tool, das per CMD-Befehl gestartet werden kann und dem Benutzer Informationen über den Weg von Datenpaketen im Netzwerk liefert. Zu diesem Zweck ermittelt das Programm, über welche Router und Internet-Knoten die versendeten Pakete letztendlich zum angepeilten Host gelangen. Zusätzlich zu der Anzahl der passierten Stationen erhält der User auch Informationen zur jeweiligen Antwortzeit und erfährt dadurch, an welcher Stelle der Datenroute genau Engpässe bestehen. Werden bestimmte Router überhaupt nicht erreicht, informiert Traceroute auch darüber. Gleiches gilt für mögliche Datenschleifen, die z. B. aufgrund fehlerhafter Routing-Tabellen entstehen können. Linux- bzw. UNIX-Nutzer starten das Analyse-Tool über die Kommandozeile mit dem Befehl Traceroute, während Windows-User die Überprüfung per Tracert-CMD beginnen. Aus diesem Grund findet man sowohl den Namen Traceroute als auch Tracert für das Programm.
So funktioniert Traceroute
Die Ausführung des Befehls Traceroute bzw. Tracert führt dazu, dass nacheinander speziell präparierte Datagramme mit begrenzter Time-to-live (TTL, dt. Lebensdauer) an den Ziel-Host gesendet werden. Jeder passierte Router setzt die TTL dabei automatisch im Wert um 1 herunter. Die Datagramme enthalten ICMP-Befehle (Windows) bzw. UDP-Befehle (UNIX), die den erreichten Router zu einer Antwort auffordern.
Der erste erreichte Router auf dem Weg zum Ziel-Host erhält ein Paket mit einer TTL von 1. Er setzt den Wert um eins herunter, wodurch dieser auf 0 fällt. Infolgedessen leitet der Router das Datenpaket nicht weiter, sondern verwirft es und sendet dabei die Antwort „Time to live exceeded in transit“ inklusive seiner eigenen IP-Adresse zurück. Tracert zeichnet diese Informationen mitsamt der Übertragungsdauer auf und wiederholt den Prozess mit einer um 1 erhöhten TTL. Dieser Vorgang wird so lange wiederholt, bis der Ziel-Host oder das definierte Maximum an Stationen, die auch Hops genannt werden, erreicht wurde. Der angepeilte Host sendet die Nachricht „Port Unreachable“ und beendet damit die Protokollierung der IP-Trace-Route. Standardmäßig werden an jeden Host insgesamt drei Pakete verschickt, weshalb Traceroute für jeden Router auch drei Antwortzeit-Angaben (in Millisekunden) anzeigt.
Traceroute online ermitteln
Wer nicht mit Kommando-Befehlen hantieren möchte, kann Traceroute auch online in Anspruch nehmen. Viele Websites bieten an, die Trace-Route zur Ziel-IP-Adresse zu verfolgen und arbeiten zum Teil sogar mit Visual-Traceroute-Tools, welche die gewonnenen Informationen anschaulich darstellen. Die Absender-Adresse ist in der Regel allerdings die des Webservers, auf dem die genutzte Website gehostet wird – oder auch eine bzw. mehrere andere – und nicht die des jeweiligen Nutzers. Drei solcher Websites, mit denen man die Trace-Route verfolgen kann, sind:
- ping.eu
- dnstools.ch
- monitis.com
Traceroute - so gelingt die Arbeit mit dem Kommandozeilen-Tool
Traceroute bzw. Tracert sind im Grunde genommen nur Befehle, mit deren Eingabe in die Kommandozeile die Trace-Route vom Ausgangscomputer zum Ziel-Host verfolgt werden kann. Damit der Weg von Datenpaketen auf diesem Weg analysiert werden kann, muss zunächst einmal die Kommandozeile – auch Befehlszeile genannt – geöffnet werden. Das funktioniert je nach Betriebssystem auf unterschiedliche Art und Weise. Die Eingabe der Befehlszeile erfolgt stets und ausschließlich per Tastatur, indem der jeweilige Befehl manuell eingegeben und mit der „Enter“-Taste bestätigt wird.
Die folgenden Abschnitte enthalten eine kleine Einführung über die Benutzung von Tracert, im Falle eines Windows-Betriebssystems, und Traceroute, sofern ein UNIX-Betriebssystem verwendet wird.
Tracert-CMD auf Windows-Betriebssystemen ausführen
Benutzer eines Windows-Betriebssystems müssen den Tracert-Befehl in der cmd.exe eingeben, die auch als Windows-Eingabeaufforderung bekannt ist. Die cmd.exe öffnet ein Fenster mit Kommandozeile und Eingabeaufforderung und stellt eine erweiterte Version des Kommandozeileninterpreters COMMAND.COM aus MS-DOS-Zeiten dar. Zum Starten der cmd.exe muss man zunächst das entspreche Textfeld durch die Tastenkombination „Windows-Taste“ + „R“ öffnen, dort dann „cmd.exe“ eingeben und durch Drücken der „Enter“-Taste betätigen. Nun öffnet sich die Windows Eingabeaufforderung und der Tracert-Befehl kann eingegeben werden. Die Verfolgung der Trace-Route zum Ziel-Host wird durch folgende Eingabe gestartet:
tracert www.adresse-des-ziel-hosts.de
Sofern vorhanden, kann auch die IP-Adresse des Zielobjektes statt der Domain angegeben werden. Die Verfolgung des Datenweges lässt sich durch folgende Eingaben noch weitergehend konfigurieren:
- Adressen werden nicht in Hostnamen aufgelöst
tracert -d www.adresse-des-ziel-hosts.de
- Festlegen der maximalen Hops (Stationen)
tracert -h ZAHL www.adresse-des-ziel-hosts.de
- „Loose Source Route” gemäß Hostliste (nur IPv4)
tracert -j www.adresse-des-ziel-hosts.de
- Zeitlimit für eine Antwort in Millisekunden
tracert -w ZAHL www.adresse-des-ziel-hosts.de
- Rundwegpfad verfolgen (nur IPv6)
tracert -R www.adresse-des-ziel-hosts.de
- Zu verwendende Quelladresse (nur IPv6)
tracert -S www.adresse-des-ziel-hosts.de
- Verwendung von IPv4 erzwingen
tracert -4 www.adresse-des-ziel-hosts.de
- Verwendung von IPv6 erzwingen
tracert -6 www.adresse-des-ziel-hosts.de
Anstelle des Wortes ZAHL gibt man dann an entsprechender Stelle den gewünschten Wert als Ziffer an. Eine Kombination der Befehle ist möglich, indem sie hintereinander, durch Leerzeichen abgetrennt, vor die Ziel-Adresse eingefügt werden.
Traceroute auf UNIX-Betriebssystemen starten
Alle Linux-Betriebssysteme vor Mac OS X basierten nicht auf UNIX und besaßen keine Kommandozeile. Mac OS X 10.0 war die erste Betriebssystem-Version, die mit einem Terminalemulator ausgestattet wurde. Mithilfe dieses Programms, das einfach Terminal genannt wird, ist es dem User möglich, an einer Kommandozeile zu arbeiten. Neuere Versionen haben wichtige Befehlszeilen-Diagnosewerkzeuge wie Traceroute im Netzwerkdienstprogramm in einer grafischen Benutzeroberfläche gesammelt, wo selbige direkt ausgewählt werden können. Der einfachste Weg, zum Netzwerkdienst zu gelangen, führt über die Suchfunktion Spotlight, indem nach der Eingabe von „Netzwerkdienstprogramm“ einfach der oberste Treffer ausgewählt wird. Traceroute wird im Anschluss durch folgenden Befehl gestartet:
traceroute www.adresse-des-ziel-hosts.de
Wer direkt im Terminal arbeitet, hat auch auf Linux-Betriebssystemen die Möglichkeit, die Optionen von Traceroute zu konfigurieren:
- Adressen werden nicht in Hostnamen aufgelöst:
traceroute -n www.adresse-des-ziel-hosts.de
- Festlegen der maximalen Hops (Stationen)
traceroute -m ZAHL www.adresse-des-ziel-hosts.de
- Anzahl von Testpaketen pro Hop definieren
traceroute -q ZAHL www.adresse-des-ziel-hosts.de
- Zeitlimit für eine Antwort in Sekunden
traceroute -w ZAHL www.adresse-des-ziel-hosts.de
- Festlegen, womit die TTL startet
traceroute -f ZAHL www.adresse-des-ziel-hosts.de
- ICMP Echo für Pakete verwenden
traceroute -I www.adresse-des-ziel-hosts.de
- Verwendung von IPv4 erzwingen
traceroute -4 www.adresse-des-ziel-hosts.de
- Verwendung von IPv6 erzwingen
traceroute -6 www.adresse-des-ziel-hosts.de
Wie auch mit Windows können die Optionen wahlweise miteinander kombiniert werden. Auf Linux- bzw. UNIX-Systemen sind zudem viele weitere Konfigurationen möglich, die unter anderem auch auf der amerikanischen Seite computerhope.com nachgelesen werden können.
Traceroute nutzen für einen Erstcheck bei Netzwerkproblemen
Traceroute für Linux und Tracert für Windows können eine erste Hilfestellung beim Lösen von Netzwerkproblemen bieten. Das Kommandozeilen-Tool kann beispielsweise Auskunft darüber geben, ob ausgesandte Datenpakete auf dem Weg zum Ziel die richtige Route verwenden. Umständliche Datenwege oder ein Nichtankommen der Pakete lassen oftmals auf den Ausfall eines Routers schließen. Mit Tracert lässt sich meist feststellen, was die bremsende Station auf der Route ist. Auch Routing-Schleifen, die aufgrund fehlerhafter Routing-Tabellen entstehen können, werden durch ein mehrmaliges Vorkommen ein und desselben Routers innerhalb des Traceroute-Protokolls entdeckt.
Bei der Verwendung von Traceroute oder Tracert muss man aber beachten, dass es einige Faktoren wie z. B. Firewalls oder Pfadänderungen bei Netzwerküberlastung gibt, die das Ergebnis der Datenpaket-Verfolgung beeinflussen können – so wird mitunter nicht immer der tatsächliche Weg angezeigt und das Ergebnis verfälscht.