Was ist Traceroute und wie funktioniert es?
Traceroute ist ein weit verbreitetes Netzwerktool, das verwendet wird, um den Pfad zu einem Zielhost zu verfolgen. Es sendet eine Serie von Paketen an den Zielhost und zeichnet den Weg auf, den jedes Paket nimmt. Dies ermöglicht dir Einblicke in die Netzwerkroute und hilft dir, Netzwerkprobleme zu diagnostizieren und zu beheben.
Wie funktioniert Traceroute?
Traceroute sendet eine Reihe von User Datagram Protocol (UDP)-Paketen an den Zielhost. Diese Pakete haben eine niedrigere Time-to-Live (TTL) als normale Pakete, die von Routern entlang des Weges verringert wird. Wenn die TTL auf 0 sinkt, verwirft der Router das Paket und sendet eine Internet Control Message Protocol (ICMP)-Nachricht "Time Exceeded" an den Absender zurück.
Traceroute empfängt diese ICMP-Nachrichten und zeichnet den Namen des Routers auf, der das Paket verworfen hat. Es erhöht dann die TTL um eins und sendet ein weiteres UDP-Paket. Dieser Vorgang wird wiederholt, bis das Zielhost erreicht ist oder die maximale TTL erreicht ist.
Welche Informationen liefert Traceroute?
Traceroute liefert folgende Informationen:
- Hostname oder IP-Adresse des Routers: Name oder IP-Adresse jedes Routers, der das Paket weiterleitet.
- RTT (Round-Trip-Time): Die Zeit, die ein Paket benötigt, um zum Router und zurück zum Absender zu gelangen.
- Paketverlust: Ob ein Paket verloren gegangen ist oder nicht.
- Letzter Hop: Der letzte Router vor dem Zielhost.
Verwendung von Traceroute unter Linux
Traceroute ist ein Kommandozeilenprogramm, das du unter Linux für die Netzwerkdiagnose und Fehlerbehebung verwenden kannst. Es ermöglicht dir, den Weg zu verfolgen, den Pakete von deinem Computer zu einem Zielhost nehmen.
Traceroute ausführen
Um Traceroute auszuführen, öffne ein Terminal und gib folgenden Befehl ein:
traceroute <Ziel-Host>
Ersetze <Ziel-Host>
durch die IP-Adresse oder den Domainnamen des Zielcomputers.
Traceroute sendet eine Reihe von UDP-Paketen mit unterschiedlichen Time-to-Live (TTL)-Werten an den Zielhost. Jeder TTL-Wert repräsentiert die maximale Anzahl von Routern, die ein Paket passieren kann. Wenn ein Router das Paket empfängt, wird der TTL-Wert dekrementiert. Wenn der TTL-Wert auf Null sinkt, sendet der Router eine "Time Exceeded"-Nachricht zurück.
Traceroute wartet auf Antworten von Routern und zeichnet den Pfad auf, den die Pakete zum Zielhost nehmen. Die Ausgabe zeigt eine Liste der Router an, die Pakete verarbeitet haben, sowie die Zeit, die jedes Paket für den einzelnen Hop benötigt hat.
Interpretation der Ausgabe
Die Traceroute-Ausgabe zeigt dir an:
- Hop-Nummer: Die Nummer des Routers im Pfad.
- Hostname: Der Name des Routers (sofern verfügbar).
- IP-Adresse: Die IP-Adresse des Routers.
- RTT (Round-Trip Time): Die Zeit, die Pakete für die Hin- und Rückfahrt zum Router benötigt haben.
Wenn ein Sternchen (*) für die RTT angezeigt wird, bedeutet dies, dass kein Antwortpaket empfangen wurde. Dies kann auf einen Netzwerkfehler hinweisen.
Beispiel
Im folgenden Beispiel verwenden wir Traceroute, um den Pfad zu google.com zu verfolgen:
traceroute google.com
Ausgabe:
traceroute to google.com (142.250.187.250), 64 hops max, 52 byte packets
1 10.0.0.1 (10.0.0.1) 0.388 ms 0.298 ms 0.225 ms
2 192.168.0.1 (192.168.0.1) 0.252 ms 0.277 ms 0.241 ms
3 router-1.isp.com (10.100.1.1) 0.694 ms 0.635 ms 0.683 ms
4 core-router.isp.com (10.101.1.1) 12.775 ms 11.705 ms 12.216 ms
5 edge-router.isp.com (10.102.1.1) 11.497 ms 11.072 ms 10.018 ms
...
52 google.com (142.250.187.250) 7.348 ms 6.289 ms 5.902 ms
Die Ausgabe zeigt uns, dass es 52 Hops gibt, die Pakete von unserem Computer zu google.com nehmen. Die RTT-Werte sind relativ niedrig, was auf eine gute Netzwerkverbindung hinweist.
Traceroute-Optionen und ihre Anwendung
Traceroute bietet über seine Grundfunktionalität hinaus verschiedene Optionen, mit denen du die Verfolgung von Paketen anpassen und die Netzwerkdiagnose verbessern kannst. Im Folgenden findest du eine Übersicht über einige nützliche Optionen:
Optionen zur Paketverfolgung
-
-n
: Zeigt die IP-Adressen statt der Hostnamen an. -
-v
: Gibt detaillierte Informationen über die Pakete aus, einschließlich TTL und RTT. -
-f
: Legt die Anzahl der Hop-Übersprünge fest (Standard: 30).
Optionen zur Paketausgabe
-
-q
: Unterdrückt Ausgabezeilen nach Empfang der ersten Antwort von jedem Hop. -
-w
: Legt die Zeitüberschreitung in Millisekunden fest (Standard: 5000). -
-D
: Aktiviert die IP-Debug-Option "Don’t fragment" und erzwingt die Fragmentierung.
Optionen zur Hop-Auflösung
-
-a
: Führt eine DNS-Suche durch, um die Hostnamen der Hops aufzulösen. -
-g
: Verwende zusätzliche DNS-Namensserver. -
-4
und-6
: Beschränkt die Verfolgung auf IPv4- bzw. IPv6-Adressen.
Optimierte Verwendung
Um die Vorteile von Traceroute effektiv zu nutzen, solltest du die folgenden bewährten Praktiken anwenden:
- Verwende die Option
-n
, um die IP-Adressen anzuzeigen, da diese für die Diagnose von Netzwerkproblemen präziser sind. - Passe die Optionen
-f
und-w
an, um die Anzahl der Hops und die Zeitüberschreitung an die Größe deines Netzwerks anzupassen. - Aktiviere die Option
-a
, um die Hostnamen aufzulösen und die Identifizierung von Netzwerkfehlern zu vereinfachen. - Falls nötig, beschränke die Verfolgung mit den Optionen
-4
oder-6
, um dich auf einen bestimmten IP-Adressbereich zu konzentrieren.
Netzwerkdiagnose mithilfe von Traceroute
Traceroute ist ein wertvolles Werkzeug zur Diagnose von Netzwerkproblemen. Es ermöglicht dir, den Pfad zu verfolgen, den Pakete von deinem Computer zu einem Zielserver nehmen. Dabei werden Informationen über jeden Hop entlang des Weges bereitgestellt, einschließlich der IP-Adresse, des Hostnamens und der Round-Trip-Time (RTT).
Traceroute zur Identifizierung von Engstellen
Wenn du merkst, dass deine Netzwerkverbindung langsam ist oder unterbrochen wird, kannst du Traceroute verwenden, um Engstellen zu identifizieren. Beginne damit, Traceroute zu einem bekannten Zielserver wie Google.com oder Facebook.com auszuführen.
traceroute google.com
Wenn du einen hohen Ping oder große RTT-Werte für einen bestimmten Hop bemerkst, könnte dies auf eine Engstelle in diesem Netzwerksegment hindeuten. Du kannst die IP-Adresse des Hops in eine Website wie Whois.com eingeben, um den Netzwerkbetreiber zu ermitteln.
Traceroute zur Behebung von DNS-Problemen
Manchmal können Netzwerkprobleme auf DNS-Probleme zurückzuführen sein. Wenn du einen Hostnamen nicht auflösen kannst, kannst du Traceroute verwenden, um zu überprüfen, ob DNS-Server erreichbar sind. Führe Traceroute zu einem bekannten DNS-Server wie 8.8.8.8 aus:
traceroute 8.8.8.8
Wenn du die letzten Hops des Traceroute nicht erreichen kannst, könnte dies auf ein Problem mit deinem DNS-Server hinweisen.
Traceroute zur Fehlerbehebung bei Routing-Problemen
Routing-Probleme können auch zu Netzwerkproblemen führen. Wenn du feststellst, dass Pakete einen unerwarteten Pfad nehmen oder gar nicht ihr Ziel erreichen, kannst du Traceroute verwenden, um Routing-Probleme zu beheben.
traceroute -I [Ziel-IP-Adresse]
Die Option -I
weist Traceroute an, die Quell-IP-Adresse für jedes Paket festzulegen. Auf diese Weise kannst du den Pfad deiner Pakete von verschiedenen Quellen aus verfolgen und feststellen, ob die Route konsistent ist.
Fehlerbehebung bei Netzwerkproblemen mit Traceroute
Traceroute ist ein wertvolles Werkzeug zur Identifizierung der Ursache von Netzwerkproblemen. Es zeigt dir den Weg, den Pakete zu und von deinem Host nehmen, und markiert die einzelnen Hosts, durch die sie gelangen. Dies kann dir helfen, Engpässe, Routingprobleme und Verbindungsausfälle zu diagnostizieren.
Verbindungsausfälle erkennen
Wenn du eine Verbindung zu einer Website oder einem Server nicht herstellen kannst, kann Traceroute dir helfen, festzustellen, wo der Ausfall auftritt. Führe Traceroute zum Zielhost aus und achte auf die erste Antwort, die nicht ankommt. Dies zeigt dir den Host an, bei dem die Verbindung fehlschlägt.
Identifizierung von Routing-Schleifen
Routing-Schleifen treten auf, wenn Pakete zwischen zwei oder mehr Hosts hin und her weitergeleitet werden, ohne ihr Ziel zu erreichen. Verwende Traceroute, um den Pfad zu verfolgen, den Pakete nehmen, und nach Hosts zu suchen, die mehrfach erwähnt werden. Dies kann darauf hindeuten, dass eine Routing-Schleife vorliegt.
Diagnose von Latenzproblemen
Traceroute kann dir helfen, Latenzprobleme zu identifizieren, indem es die Zeit misst, die Pakete für jeden Hop benötigen. Wenn du feststellst, dass Pakete bei einem bestimmten Host eine lange Verzögerung aufweisen, könnte dies auf eine Überlastung, eine Fehlkonfiguration oder ein Hardwareproblem an diesem Host hinweisen.
Erkennung von Paketverlusten
Traceroute kann auch verwendet werden, um Paketverluste zu erkennen. Wenn Pakete bei bestimmten Hops nicht ankommen, kann dies auf einen Netzwerkengpass, eine fehlerhafte Hardware oder eine falsche Konfiguration hindeuten.
Beheben von DNS-Problemen
Traceroute kann dir bei der Behebung von DNS-Problemen helfen. Führe Traceroute zur IP-Adresse einer Website aus und beobachte, welcher Host für die DNS-Auflösung verantwortlich ist. Wenn Pakete diesen Host nicht erreichen können, könnte dies auf ein Problem mit deinem DNS-Server oder den DNS-Einstellungen deines Hosts hinweisen.
Weiterführende Traceroute-Techniken
Neben den grundlegenden Befehlen bietet Traceroute eine Vielzahl erweiterter Optionen für die detaillierte Netzwerkdiagnose.
Traceroute-Visualisierung
Um die Ergebnisse von Traceroute visuell darzustellen, kannst du Visual Traceroute verwenden. Diese Webanwendung generiert eine interaktive Karte, die die Route deiner Pakete und Latenzen anzeigt.
Multi-Hops (ttl)
Normalerweise sendet Traceroute nur eine Sonde an jeden Hop. Du kannst die Anzahl der Sonden pro Hop erhöhen, indem du die Option -A
verwendest. Dies ermöglicht einen genaueren Blick auf die Konsistenz der Latenz und die Paketabwürfe zwischen den Hops.
Latenzstatistiken
Mit der Option -p
kannst du Latenzstatistiken für jeden Hop sammeln. Diese Statistiken beinhalten Minimal-, Maximal- und Durchschnittslatenz sowie Standardabweichung. Dies kann dir helfen, intermittierende Netzwerkprobleme zu identifizieren.
Port-Angabe
Standardmäßig sendet Traceroute ICMP-Echo-Anfragen. Du kannst jedoch auch andere Portnummern angeben, indem du die Option -p
verwendest. Dies kann hilfreich sein, um Probleme mit bestimmten Diensten zu diagnostizieren.
Quell-IP-Adresse
Mit der Option -s
kannst du die Quell-IP-Adresse festlegen, von der die Traceroute-Pakete gesendet werden. Dies kann nützlich sein, um Probleme zu identifizieren, die durch die Verwendung einer bestimmten IP-Adresse verursacht werden.
Netzwerk-Traceroute
Network Probe ist ein kommerzielles Tool, das erweiterte Traceroute-Funktionen bietet. Es kann TCP-, UDP- und ICMP-Pakete senden, Verbindungsstatistiken sammeln und Netzwerkprobleme wie Paketverluste, Verzögerungen und Routing-Probleme diagnostizieren.