Allgemeine Konzepte
Der Befehl Traceroute, in Windows auch als Tracert bekannt, ist ein Netzwerkdiagnosetool, mit dem der Weg eines Datenpakets von einer Quelle bis zu seinem endgültigen Ziel im Internet verfolgt werden kann. Dieses Tool ist sehr nützlich, um mögliche Netzwerkprobleme wie hohe Latenz oder verlorene Pakete zu identifizieren.
Beim Verfolgen der Route sendet der Traceroute-Befehl eine Reihe von Datenpaketen über das Netzwerk, und jedes Paket enthält eine TTL-Nummer (Time To Live), beginnend mit dem Wert 1. Jedes Mal, wenn ein Paket an einem Knoten im Netzwerk ankommt Im Netzwerk verringert der Knoten den TTL-Wert um 1, bevor er das Paket weiterleitet. Wenn der TTL-Wert 0 erreicht, wird das Paket verworfen und der Knoten sendet eine „Zeit überschritten“-Nachricht an die Quelle, die angibt, dass das Paket sein Ziel nicht erreichen konnte und die zulässige Zeit überschritten wurde.
Der Traceroute-Befehl wiederholt diesen Vorgang für jeden Knoten auf der Route, bis das Paket sein endgültiges Ziel erreicht. Am Ende des Prozesses zeigt der Traceroute-Befehl eine Liste der Knoten auf der Route an, zusammen mit der IP-Adresse jedes Knotens und der Antwortzeit, die das Paket benötigt hat, um diesen Knoten zu erreichen.
Detaillierte Paketsequenz
Die detaillierte Funktionsweise des Traceroute-Befehls kann wie folgt ausgedrückt werden:
- Der Traceroute-Befehl sendet ein Datenpaket mit einem anfänglichen TTL-Wert von 1 an das endgültige Ziel.
- Der erste Knoten auf dem Paketpfad empfängt das Paket, verringert den TTL-Wert um 1 und sendet eine „TTL abgelaufen“-Antwort an die Quelle.
- Der Ursprung erhält die Antwort „Zeit überschritten“ und zeichnet die IP-Adresse des ersten Knotens auf.
- Der Traceroute-Befehl sendet ein weiteres Datenpaket mit einem TTL-Wert von 2 an das endgültige Ziel.
- Der zweite Knoten auf dem Paketpfad empfängt das Paket, verringert den TTL-Wert um 1 und sendet eine „Zeit überschritten“-Antwort an die Quelle.
- Der Ursprung erhält die Antwort „Zeit überschritten“ und zeichnet die IP-Adresse des zweiten Knotens auf.
- Dieser Vorgang wird für jeden Knoten im Pfad des Pakets wiederholt, wobei der TTL-Wert bei jeder Iteration erhöht wird, bis das Paket das endgültige Ziel erreicht.
- Sobald das Paket das endgültige Ziel erreicht, zeigt der Traceroute-Befehl den vollständigen Pfad des Pakets an, einschließlich der IP-Adresse und der Antwortzeit jedes Knotens auf der Route.
Was ist der Befehl in MikroTik RouterOS
Als Beispiel für die Verwendung des Traceroute-Befehls auf einem Mikrotik RouterOS können die folgenden Schritte ausgeführt werden:
Greifen Sie auf die Mikrotik-Router-Schnittstelle zu und öffnen Sie die Befehlskonsole.
Geben Sie den Befehl Traceroute gefolgt von der IP-Adresse oder dem Domänennamen des Ziels ein, zu dem Sie die Route verfolgen möchten. Um beispielsweise den Pfad zur Google-Website zu ermitteln, könnten Sie den folgenden Befehl verwenden:
[admin@MikroTik] > tool traceroute google.com
Warten Sie, bis der Routenverfolgungsprozess abgeschlossen ist. Abhängig von der Anzahl der Knoten auf dem Pfad und der Latenz des Netzwerks kann dieser Vorgang einige Sekunden oder mehrere Minuten dauern.
Überprüfen Sie die Ergebnisse des Traceroute-Befehls. Die Ausgabe des Befehls zeigt eine Liste aller Knoten auf dem Pfad zum Ziel an, zusammen mit der IP-Adresse jedes Knotens und der Antwortzeit, die zum Erreichen dieses Knotens benötigt wurde. Zum Beispiel:
ADDRESS STATUS
1 192.168.1.1 1ms 1ms 1ms
2 10.0.0.1 5ms 5ms 5ms
3 200.10.0.1 10ms 10ms 10ms
4 200.10.1.1 15ms 15ms 15ms
5 200.10.2.1 20ms 20ms 20ms
6 200.10.3.1 25ms 25ms 25ms
7 8.8.8.8 30ms 30ms 30ms
[admin@MikroTik] >
In diesem Beispiel können Sie sehen, dass das Datenpaket sechs verschiedene Knoten durchlaufen hat, bevor es das endgültige Ziel (8.8.8.8) erreicht hat.
Unterschied zwischen Linux Traceroute und Windows Tracert
Es gibt einige wesentliche Unterschiede zwischen den beiden Befehlen:
Befehlssyntax: Die Syntax des Linux-Traceroute-Befehls und des Windows-Tracert-Befehls unterscheidet sich geringfügig. Unter Linux wird der Befehl als „traceroute“ geschrieben, während er unter Windows als „tracert“ geschrieben wird.
Befehlsoptionen: Der Linux-Traceroute-Befehl und der Windows-Tracert-Befehl verfügen über unterschiedliche Befehlsoptionen. Unter Linux unterstützt der Traceroute-Befehl beispielsweise Optionen wie -I, um die Verwendung von ICMP anstelle von UDP anzugeben, während der Tracert-Befehl unter Windows Optionen wie -h unterstützt, um die maximale Anzahl von Hops anzugeben.
Ausgabeformat: Das Ausgabeformat des Linux-Traceroute-Befehls und des Windows-Tracert-Befehls ist ebenfalls unterschiedlich. Unter Linux zeigt der Befehl Traceroute die IP-Adresse und Antwortzeit jedes Knotens auf der Route an, während unter Windows der Befehl Tracert den Namen jedes Knotens und die Antwortzeit anzeigt.
Erweiterte Funktionalität: Der Linux-Befehl „Traceroute“ ist in der Lage, erweiterte Routenverfolgungen durchzuführen, z. B. Reverse-Route-Traces und Multipath-Traces. Darüber hinaus ist der Linux-Traceroute-Befehl besser anpassbar als der Windows-Tracert-Befehl, sodass der Benutzer den Port und die Paketgröße angeben kann.
Zusammenfassend lässt sich sagen, dass beide Befehle zwar in ihrer Grundfunktionalität ähnlich sind, es jedoch einige wesentliche Unterschiede in der Befehlssyntax, den Befehlsoptionen, dem Ausgabeformat und der erweiterten Funktionalität gibt.
Beispiel für den Befehl unter Linux
traceroute google.com
1 192.168.1.1 (192.168.1.1) 1.107 ms 1.237 ms 1.353 ms
2 10.255.255.1 (10.255.255.1) 14.527 ms 14.622 ms 14.719 ms
3 172.16.1.1 (172.16.1.1) 25.817 ms 25.912 ms 26.005 ms
4 172.16.2.1 (172.16.2.1) 38.320 ms 38.414 ms 38.505 ms
5 203.208.222.125 (203.208.222.125) 38.601 ms 37.301 ms 37.392 ms
6 72.14.195.12 (72.14.195.12) 60.225 ms 60.318 ms 60.415 ms
7 108.170.247.65 (108.170.247.65) 61.424 ms 61.511 ms 61.605 ms
8 108.170.235.225 (108.170.235.225) 62.719 ms 62.814 ms 62.908 ms
9 108.170.232.193 (108.170.232.193) 63.016 ms 63.103 ms 63.197 ms
10 74.125.244.16 (74.125.244.16) 63.300 ms 63.386 ms 63.480 ms
11 172.253.50.138 (172.253.50.138) 64.685 ms 64.781 ms 64.877 ms
12 172.253.66.7 (172.253.66.7) 65.122 ms 65.217 ms 65.314 ms
13 172.253.50.246 (172.253.50.246) 66.493 ms 66.587 ms 66.680 ms
14 74.125.252.128 (74.125.252.128) 66.879 ms 66.965 ms 67.058 ms
15 216.58.214.142 (216.58.214.142) 67.252 ms 67.365 ms 67.454 ms
Beispiel für den Befehl in Windows
tracert google.com
Tracing route to google.com [172.217.12.142]
over a maximum of 30 hops:
1 1 ms 1 ms 1 ms 192.168.1.1
2 17 ms 17 ms 18 ms 10.255.255.1
3 27 ms 27 ms 27 ms 172.16.1.1
4 40 ms 40 ms 40 ms 172.16.2.1
5 38 ms 37 ms 37 ms 203.208.222.125
6 59 ms 59 ms 59 ms 108.170.247.65
7 61 ms 61 ms 61 ms 108.170.235.225
8 63 ms 63 ms 63 ms 108.170.232.193
9 64 ms 64 ms 64 ms 74.125.244.16
10 67 ms 67 ms 67 ms 172.253.50.138
11 67 ms 67 ms 67 ms 172.253.66.7
12 69 ms 69 ms 69 ms 172.253.50.246
13 66 ms 66 ms 66 ms 74.125.252.128
14 66 ms 66 ms 66 ms 216.58.214.142
Trace complete.
Welches ist besser?
Im Allgemeinen sind beide Befehle (traceroute
y tracert
) sind nützlich, um Netzwerkprobleme aufzuspüren und Verbindungsprobleme zu diagnostizieren. Welches verwendet werden soll, hängt vom Betriebssystem und den persönlichen Vorlieben ab.
Was die spezifischen Merkmale betrifft, traceroute
unter Linux bietet mehr Optionen und erweiterte Funktionen als tracert
unter Windows, z. B. Unterstützung für UDP- und TCP-Protokolle sowie die Möglichkeit, das Timeout und die Hop-Anzahl anzupassen. Jedoch, tracert
Unter Windows ist es einfacher zu verwenden und kann in manchen Fällen klarere und besser lesbare Informationen liefern.
Zusammenfassend lässt sich sagen, dass beide Tools ihre Stärken und Schwächen haben und die Wahl des einen oder anderen von der konkreten Verwendung und den persönlichen Vorlieben abhängt.