So diagnostizieren Sie Netzwerkprobleme unter Linux mit Traceroute

Traceroute ist ein einfaches Netzwerkdienstprogramm, das die Route verfolgen kann, die ein Internetpaket von der Quelle zum Zielhost nimmt. In diesem Artikel erfahren Sie, wie Sie mit Traceroute den Netzwerkzustand Ihres Linux überprüfen und auftretende Probleme diagnostizieren können.

Notiz: Während dieser Artikel Traceroute unter Linux hervorhebt, können Sie dieses Dienstprogramm auch unter macOS und Windows verwenden.

Wie funktioniert Traceroute?

Traceroute sendet UDP-Pakete mit kurzen TTL-Längen an jedes Internet-Gateway auf dem Weg zu einem Remote-Host. Diese kurzen TTL-Längen zwingen diese Gateways dann dazu, eine ICMP-Antwort „TIME_EXCEEDED“ zusammen mit der IP-Adresse ihrer Schnittstelle zu melden.

Durch die Kombination dieser beiden Faktoren kann Traceroute eine detaillierte Liste der Maschinen erstellen, die Ihr Paket durchlaufen wird, wenn es eine Verbindung zu einem externen Server herstellt. Wenn Sie beispielsweise eine Traceroute zu „google.com“ in meinem Netzwerk ausführen, werden zwischen 9 und 10 Gateways aufgelistet, bevor sie die Server von Google erreicht.

Welche Netzwerkprobleme kann Traceroute beheben?

Traceroute ist lediglich ein Tool zur Netzwerkprüfung und optimiert oder behebt keine offenen Probleme in Ihrem Netzwerk. Traceroute kann nur beschreiben, wie sich Netzwerke und die auf ihnen übertragenen Pakete verhalten.

Dennoch ist es immer noch ein wichtiges Werkzeug zur Diagnose potenzieller Netzwerkprobleme. Ein gutes Beispiel ist, wenn ein lokales Gateway ein Paket nicht an seinen nächsten Hop weiterleitet. Traceroute kann dieses Problem beheben, indem es jeden Router in Ihrem Kernnetzwerk hervorhebt, der keine „TIME_EXCEEDED“-Antwort sendet.

[enlazatom_show_links]

Darüber hinaus können Sie Traceroute auch verwenden, um nach Latenzproblemen zwischen Hosts zu suchen. Dies kann hilfreich sein, wenn Sie sehen möchten, ob Ihr lokales Netzwerk ein VPN benötigt, um eine konstant niedrige Latenz bei der Verbindung mit einem Remote-Computer sicherzustellen.

Gut zu wissen: Erfahren Sie mehr über die Netzwerkprüfung mithilfe von nmap ohne sudo unter Linux.

Verwenden von Traceroute unter Linux

Öffnen Sie ein neues Terminal und geben Sie „traceroute“ gefolgt von der Maschinenadresse ein, mit der sich Ihre Maschine verbinden soll. Dies kann entweder ein Domänenname oder eine IP-Adresse sein. Zum Beispiel:

Traceroute ubuntu.myvpsserver.top

Drücken Sie die Eingabetaste, um mit der Zuordnung des Pfads zu Ihrem Remote-Host zu beginnen.

Tipp: Erfahren Sie, wie Sie anhand der IP-Adresse Ihres Routers nach Ihrem lokalen Internet-Gateway suchen.

Senden von Paketen mit benutzerdefinierter TTL in Traceroute

Während die Verwendung von Traceroute allein für die grundlegende Verwendung ausreicht, können Sie die Funktionsweise des Programms auch mithilfe von Flags optimieren. Dies kann insbesondere dann hilfreich sein, wenn Sie eine Triage Ihres Netzwerks durchführen.

Eine der häufigsten Optimierungen bei Traceroute ist die Änderung der Anzahl der Pakete, die an ein Gateway gesendet werden. Verwenden Sie dazu das Flag -q, gefolgt von der Anzahl der Pakete, die Sie pro Anfrage senden möchten:

Traceroute -q 1 ubuntu.myvpsserver.top

Sie können auch das Flag -N gefolgt von „1“ verwenden, um gleichzeitige Paketanforderungen explizit zu deaktivieren. Dies ist hilfreich, wenn Sie Gateways haben, die die Geschwindigkeit von UDP-Paketen mit kurzer TTL begrenzen.

Schließlich können Sie auch den Standard-TTL-Wert für Traceroute ändern. Fügen Sie dazu das Flag -f gefolgt von der gewünschten TTL für Ihr erstes Prüfpaket hinzu.

Ändern des Traceroute-Protokolls unter Linux

Standardmäßig verwendet Traceroute unter Linux UDP zum Senden von Testpaketen an Netzwerk-Gateways. Dies kann ein Problem sein, wenn Sie ein Gateway prüfen, das Traceroute-Pakete aktiv blockiert.

Um dies zu beheben, können Sie das Flag -T verwenden, um Traceroute mithilfe einfacher TCP-SYN-Pakete auszuführen.

Andererseits können Sie Traceroute auch dazu zwingen, ein ICMP-ECHO-Paket zu verwenden, wenn das Ziel-Gateway nur UDP einschränkt:

sudo Traceroute -I myvpsserver.top

Ändern der Schnittstelle und des Ports in Traceroute

Traceroute unterstützt auch benutzerdefinierte Netzwerkschnittstellen. Hier verwendet Traceroute eine andere Netzwerkkarte in Ihrem Computer, um den Pfad eines Pakets zu prüfen.

Führen Sie dazu das Programm mit dem Flag -i gefolgt vom Gerätenamen Ihrer Schnittstelle aus.

Traceroute -i enp1s0 myvpsserver.top

Notiz: Sie können die verfügbaren Netzwerkschnittstellen für Ihren Computer finden, indem Sie ifconfig -s | ausführen awk '{print $1}'.

Abgesehen davon können Sie das Flag -p verwenden, um die Startportnummer anzugeben, die Traceroute für die UDP-Prüfung verwenden wird:

Traceroute -p 34543 myvpsserver.top

Schließlich ändert das Flag -p auch sein Verhalten abhängig vom verwendeten Protokoll. Wenn Sie es mit -I koppeln, wird der -p-Wert als anfängliche ICMP-Sequenznummer anstelle des Zielports festgelegt.

Das Erlernen der Verwendung von Traceroute ist nur der erste Schritt, um zu verstehen, wie Computer über ein Netzwerk miteinander kommunizieren. Erfahren Sie mehr über Computernetzwerke, indem Sie den Inhalt eines TCP-Pakets mit tcpdump analysieren.

Mittlerweile können Sie auch mehr über die höheren OSI-Schichten wie DNS erfahren, indem Sie das Dig-Tool unter Linux verwenden.

Alle Änderungen und Screenshots von Ramces Red.

Index
  1. Wie funktioniert Traceroute?
  2. Welche Netzwerkprobleme kann Traceroute beheben?
  3. Verwenden von Traceroute unter Linux
    1. Senden von Paketen mit benutzerdefinierter TTL in Traceroute
    2. Ändern des Traceroute-Protokolls unter Linux
    3. Ändern der Schnittstelle und des Ports in Traceroute

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up