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.

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.

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.

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.

Ä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.

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.

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.

























