Linux-Netzwerkdiagnose mit Traceroute

Foto des Autors

By Jan

Was ist Traceroute und was macht es?

Definition und Zweck

Traceroute ist ein unverzichtbares Netzwerkdiagnosewerkzeug, das dir einen Einblick in den Weg gibt, den Datenpakete von deinem Computer zu einem Zielhost nehmen. Es zeigt die einzelnen Hops (Zwischenstationen) an, die die Pakete passieren, und misst die Zeit, die sie für den Durchtritt benötigen.

Funktionsweise

Traceroute sendet eine Reihe von UDP-Paketen (User Datagram Protocol) mit unterschiedlichen Zeitüberschreitungswerten an das Zielhost. Jedes Paket wird an einen Hop entlang des Wegs geschickt. Wenn das Paket den Hop erreicht, sendet der Router eine ICMP-Antwort (Internet Control Message Protocol) zurück. Traceroute zeichnet die Antwortzeit und die IP-Adresse jedes Routers auf.

Vorteile

Mit Traceroute kannst du:

  • Die Route ermitteln, die Datenpakete zu ihrem Ziel nehmen
  • Netzwerklatenz und Paketverlust an verschiedenen Hops identifizieren
  • Fehlerhafte oder überlastete Geräte im Netzwerk lokalisieren
  • Die Integrität von Netzwerkverbindungen testen

Verwendung von Traceroute unter Linux mit Befehlssyntax und Optionen

Um Traceroute unter Linux zu verwenden, öffnest du ein Terminalfenster und gibst den Befehl ‚traceroute‘ zusammen mit dem Zielhostnamen oder der IP-Adresse ein.

Befehlssyntax

traceroute [Optionen] <Zielhost>

Optionen

  • -m max_hops: Begrenzt die maximale Anzahl von Hops (max_hops), die Traceroute durchlaufen soll.
  • -n: Unterdrückt die Namensauflösung für die Zwischenhosts und zeigt nur die IP-Adressen an.
  • -q n: Begrenzt die Anzahl der Sonden, die an jeden Zwischenhost gesendet werden (n).
  • -s src_ip: Legt die Quell-IP-Adresse fest, die für die Sonden verwendet wird.
  • -t port: Legt den TCP- oder UDP-Port fest, an den die Sonden gesendet werden.
  • -w timeout: Legt den Timeout (in Sekunden) für die Sonden fest.

Praktische Beispiele

  • Zeige den Pfad zum Host ‚google.com‘ mit maximal 10 Hops an:
traceroute -m 10 google.com
  • Führe Traceroute für die IP-Adresse ‚192.168.1.1‘ mit Namensauflösung aus:
traceroute 192.168.1.1
  • Sende UDP-Sonden mit dem Quellport 53 an den Host ‚github.com‘:
traceroute -t udp -s 127.0.0.1 -p 53 github.com
  • Begrenze die Anzahl der Sonden pro Zwischenhost auf 3:
traceroute -q 3 google.com

Ergebnisinterpretation: Verständnis der Traceroute-Ausgabe

Wenn du den traceroute-Befehl ausführst, erhältst du eine zeilenweise Ausgabe, die die Route deines Pakets vom Ursprung zum Ziel darstellt. Jede Zeile zeigt die folgenden Informationen an:

Reihenfolgenummer

Die Reihenfolgenummer gibt den Hop auf dem Weg zum Ziel an. Der erste Hop ist dein lokaler Computer, und jeder nachfolgende Hop repräsentiert einen Router oder Server, den dein Paket passiert.

Zeitangaben

Traceroute sendet drei Pakete an jeden Hop und misst die Zeit, die es braucht, bis eine Antwort zurückkehrt. Die drei Spalten unter "ms" geben die RTTs (Round Trip Times) für jedes Paket in Millisekunden an.

Zielhost/IP-Adresse

Der Zielhost oder die IP-Adresse gibt den Name oder die Adresse des Routers oder Servers an, der den jeweiligen Hop darstellt.

Sternchen (*)

Ein Sternchen (*) weist darauf hin, dass keine Antwort vom Zielhost empfangen wurde. Dies kann auf Folgendes hindeuten:

  • Ein Problem mit dem Zielhost
  • Ein Problem mit dem dazwischenliegenden Netzwerk
  • Paketverlust

"Request timed out"

Wenn "Request timed out" angezeigt wird, bedeutet dies, dass das Paket die maximal zulässige Anzahl von Versuchen ohne Antwort überschritten hat. Dies kann auf Folgendes hindeuten:

  • Ein Problem mit dem Zielhost
  • Überlastung oder Latenz im Netzwerk
  • Firewalls oder andere Netzwerkgeräte, die Pakete blockieren

Interpretation des Ergebnisses

Durch die Analyse der Traceroute-Ausgabe kannst du Folgendes tun:

  • Die Route deines Pakets zum Ziel nachvollziehen
  • Latenzprobleme identifizieren
  • Paketverlust lokalisieren
  • Netzwerkengpässe diagnostizieren
  • Firewall- oder Routing-Konfigurationsprobleme erkennen

Indem du die Traceroute-Ausgabe verstehst, kannst du fundierte Netzwerkanalysedaten gewinnen, um Netzwerkprobleme effektiv zu beheben.

Fehlerbehebung bei Netzwerkproblemen mit Traceroute

Traceroute zur Identifizierung von Netzwerkunterbrechungen

Wenn du auf Netzwerkprobleme stößt, kann Traceroute dir dabei helfen, die Ursache zu ermitteln. Führe dazu einen Traceroute zu einem entfernten Host durch, der nicht erreichbar ist. Die Ausgabe zeigt dir die Route an, die die Pakete nehmen. Wenn ein Sternchen (*) angezeigt wird, ist an dieser Stelle eine Unterbrechung aufgetreten.

Ping- und Traceroute-Kombination

Kombiniere Ping und Traceroute, um die Ursachenforschung zu vertiefen. Ping den letzten erfolgreichen Hop aus der Traceroute-Ausgabe an. Wenn der Ping erfolgreich ist, liegt das Problem möglicherweise beim Zielhost. Wenn der Ping fehlschlägt, liegt das Problem möglicherweise in der Netzwerkverbindung zwischen dir und dem letzten erfolgreichen Hop.

Verwendung von Traceroute zur Überprüfung der Netzwerklatenz

Traceroute kann auch zur Überprüfung der Netzwerklatenz verwendet werden. Die Latenz wird für jeden Hop in Millisekunden angezeigt. Wenn du hohe Latenzzeiten bemerkst, kann dies auf Überlastung des Netzwerks oder Probleme mit dem Verbindungsweg hinweisen.

Traceroute zur Identifizierung von Paketverlust

Achte auf fehlende Hops in der Traceroute-Ausgabe. Ein fehlender Hop deutet auf Paketverlust hin, der durch Netzwerküberlastung oder Verbindungsprobleme verursacht werden kann. Möglicherweise musst du die Traceroute-Optionen wie "-D" verwenden, um zusätzliche Informationen zum Paketverlust zu erhalten.

Vergleich der Traceroutes für verschiedene Ziele

Führe Traceroutes zu verschiedenen Zielen durch, um Vergleichsinformationen zu erhalten. Wenn du in der Traceroute-Ausgabe signifikante Unterschiede feststellst, kann dies auf Routenprobleme oder Leistungsunterschiede zwischen den Zielen hinweisen.

Erweiterte Traceroute-Techniken für fortgeschrittene Netzwerkdiagnose

Wenn du dich mit komplexeren Netzwerkproblemen auseinandersetzt, kannst du fortgeschrittene Traceroute-Techniken anwenden, um detailliertere Einblicke zu erhalten.

Grafische Traceroute-Tools

Für eine visuelle Darstellung des Route-Pfades kannst du grafische Traceroute-Tools wie Visual Traceroute, WinMTR oder Path Analyzer verwenden. Diese Tools bieten Echtzeit-Diagramme, die den Pfad zu deinem Zielhost visuell darstellen, wodurch du Latenz- und Paketverlustprobleme einfach identifizieren kannst.

UDP- und TCP-Traceroute

Standardmäßig verwendet Traceroute das ICMP-Protokoll für Routenverfolgung. Du kannst jedoch auch UDP- und TCP-Traceroute verwenden, um spezifische Probleme zu diagnostizieren.

So verwendest du UDP-Traceroute:

traceroute -I -p 53 8.8.8.8

So verwendest du TCP-Traceroute:

traceroute -T -p 80 8.8.8.8

Traceroute-Optionen

Traceroute bietet eine Reihe von Optionen, die dir bei der Anpassung deiner Diagnosedaten helfen.

  • -D (Don’t Fragment): Verhindert die Fragmentierung von Paketen, was hilfreich sein kann, wenn du MTU-Probleme untersuchst.
  • -g (Gateway): Traceroute nur über Gateways ausführen.
  • -n (Numeric): IP-Adressen in numerischer Form statt in Hostnamen ausgeben.
  • -w (Wait Time): Maximale Wartezeit für eine Antwort in Sekunden festlegen.

Traceroute-Skripte

Für fortgeschrittene Benutzer gibt es eine Reihe von Traceroute-Skripten, die erweiterte Funktionen bieten. Zum Beispiel bietet das Skript tcptraceroute detaillierte Informationen zu TCP-Verbindungen, einschließlich der Initialisierungssequenz und der Fenstergrößen.

Indem du diese erweiterten Traceroute-Techniken anwendest, kannst du die Netzwerkdiagnose verfeinern und die Grundursache für komplexe Netzwerkprobleme genau lokalisieren.

Schreibe einen Kommentar