So diagnostizieren Sie Netzwerkprobleme unter Linux mit Traceroute 1

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.

Ein Terminal, das eine einfache Traceroute für google.com anzeigt.

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.

Ein Terminal, das eine einfache Traceroute anzeigt, bei der Gateways ständig nicht auf das Programm reagieren.

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 zu 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 ein traceroute gefolgt von der Maschinenadresse, 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 Eingeben um mit der Zuordnung des Pfads zu Ihrem Remote-Host zu beginnen.

Ein Terminal, das eine einfache Traceroute zu einem kleinen VPS zeigt.

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 die -q Flag gefolgt von der Anzahl der Pakete, die Sie pro Anfrage senden möchten:

traceroute -q 1 ubuntu.myvpsserver.top

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

Ein Terminal, das eine Traceroute mit deaktivierten gleichzeitigen Paketen anzeigt.

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

Ein Terminal, das eine Traceroute anzeigt, bei der das Programm die ersten beiden Gateways überspringt.

Ä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 die verwenden -T Flag zum Ausführen von Traceroute mithilfe einfacher TCP-SYN-Pakete.

Ein Terminal, das eine Traceroute anzeigt, bei der das Programm das TCP-SYN-Paket anstelle von UDP verwendet.

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 aus -i Flag gefolgt vom Gerätenamen Ihrer Schnittstelle.

traceroute -i enp1s0 myvpsserver.top

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

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

traceroute -p 34543 myvpsserver.top

Schließlich die -p Flag ändert auch sein Verhalten abhängig vom verwendeten Protokoll. Kombiniere es mit -I wird das einstellen -p Wert als anfängliche ICMP-Sequenznummer anstelle des Zielports.

Ein Terminal, das eine Traceroute unter Verwendung von ICMP ECHO mit einer benutzerdefinierten ICMP-Sequenznummer anzeigt.

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.

Unterstützen Sie unsere Arbeit ❤️

Wenn Ihnen dieser Artikel gefallen hat, können Sie uns mit einem Trinkgeld unterstützen, damit wir weiterhin großartige Inhalte veröffentlichen können.

Sichere Zahlung mit PayPal