Die Arbeitsweise ist recht einfach. Der Befehl sendet einfach 3 Pakete auf willkürlich ausgewählte Ports des Zielrechners. Dabei wird inständig gehofft, daß auf mindestens einem der Port kein Server lauscht. Um den Weg zu verfolgen, wird der ersten Paketserie nur eine Time To Live von 1 mitgegeben. Beim ersten Router wird dieser Wert auf 0 gesetzt und der Router sendet ein Paket vom Typ ICMP-TIME-EXCEEDED als IP-Paket zurück. Dieses Paket enthält die IP-Nummer des Routers, die dann ausgegeben wird. Die zweite Paketserie bekommt eine TTL von 2 und wird daher erst beim zweiten Router verworfen. Die dritte Serie bekommt eine TTL von 3 und so geht der ganze Spaß weiter bis der Zielrechner erreicht wurde. Dieser sendet nun ein Paket vom Typ PORT-UNREACHABLE zurück und zeigt damit an, daß das Ziel erreicht wurde.
traceroute [OPTIONEN] HOST
Der einfache Aufruf von traceroute mit eine Zieladresse zeigt die Liste der Router, über die ein Paket zum Zielhost geleitet wird.
linux37:~ # traceroute www.fibel.org traceroute to www.fibel.org (193.254.185.32), 30 hops max, 40 byte packets 1 217.89.70.62 0.247 ms 0.117 ms 0.116 ms 2 217.89.70.125 0.287 ms 0.274 ms 0.271 ms ...
Eine Auswahl von Optionen, die traceroute unterstützt, finden Sie in der folgenden Liste.
Optionen | |
-f TTL | TTL für die erste Paketserie (Standard: 1) |
-I INTERFACE | Kommunikation erfolgt über das angegeben Interface |
-m MAXHOPS | Maximale Anzahl von getesteten Sprüngen |
-n | Es erfolgt eine Namensauflösung für die Router |
-p PORT | Startnummer für die zu testenden Ports (Standard: 33434) |
-w SEKUNDEN | Wartezeit zwischen den Paketserien |
-q PAKETE | Anzahl der zu sendenden Pakete (Standard: 3) |
Die zu testenden Ports werden durch eine einfache Regel bestimmt. Dabei wird ein Anfangsport genommen (Standard: 33434) und auf den Port wird die Nummer des Hops addiert und eins abgezogen. Diese Form der Portbestimmung kann zu Problemen führen, wenn der ausgewählte Port vom Rechner benutzt wird. Sie können daher mit der Option -p die Anfangsportnummer festsetzen.
linux37:~ # traceroute -p 25000 www.fibel.org traceroute to www.fibel.org (193.254.185.32), 30 hops max, 40 byte packets 1 217.89.70.62 0.247 ms 0.117 ms 0.116 ms 2 217.89.70.125 0.287 ms 0.274 ms 0.271 ms ...
Sollte es zu einem Timeout durch eine Zeitverzögerung des Pakete kommen, wird anstatt der Zeit eine Asterisk (*
) angezeigt. Dies kann durch zu hohe Netzlast oder durch eine Firewall verursacht werden. Einige Router antworten auch nicht mehr auf traceroute-Pakete.