tracepath-Befehl: Hops und Pfad-MTU statt mit traceroute prüfen
Auf einem Linux-Server lassen sich der Weg (Hops), den Pakete zu einem Ziel nehmen, und die Pfad-MTU mit dem Befehl tracepath ohne Root-Rechte prüfen. Auf einem AlmaLinux-9-Server ohne installiertes traceroute haben wir die Hop-Anzahl auf 10 begrenzt und den Weg zu example.com geprüft: Bis zum vierten Hop waren Antwortzeiten und eine Pfad-MTU von 1500 zu sehen, die sechs Hops danach antworteten nicht.
Die Ausgabe unten stammt von einem AlmaLinux-9.8-Server (root-Konto); die traceroute-Version und der Paketstatus wurden auf einem Debian-12-Server (normales Konto) geprüft. Die IPv6-Adressen des ersten Hops und der Router dazwischen wurden durch Beispieladressen für Dokumentation ersetzt, Antwortzeiten und pmtu-Werte blieben unverändert.
1️⃣ So verwenden Sie den Befehl tracepath
tracepath nimmt einen Zielnamen oder eine IP-Adresse entgegen, sendet UDP-Pakete und gibt die antwortenden Hops Zeile für Zeile in TTL-Reihenfolge aus. Die maximale Hop-Anzahl ist standardmäßig 30 und lässt sich mit -m ändern.
Für example.com haben wir -m 10 angehängt und nur bis zum zehnten Hop geprüft.
tracepath -n -m 10 example.com 1?: [LOCALHOST] 0.006ms pmtu 9001
1: fe80::1%eth0 0.077ms pmtu 1500
1: 2001:db8:a::5b 2.627ms asymm 8
2: 2001:db8:a::52 1.473ms asymm 12
3: 2001:db8:b::1e 19.653ms asymm 9
4: 2001:db8:c:: 3.642ms asymm 11
5: no reply
6: no reply
7: no reply
8: no reply
9: no reply
10: no reply
Too many hops: pmtu 1500
Resume: pmtu 1500 Dieser Server schickte die Pakete an die IPv6-Adresse von example.com, und bis zum vierten Hop erschienen Antwortzeiten. Ab dem fünften Hop folgte nur noch no reply, deshalb erschien keine reached-Zeile, die das Erreichen des Ziels innerhalb von zehn Hops zeigt, und der Lauf dauerte etwa 18 Sekunden.
Ohne -m endete der Lauf zum selben Ziel nicht innerhalb von 30 Sekunden. Bei Pfaden mit vielen stummen Hops verringert man mit -m die Zahl der zu prüfenden Hops.
Die installierte tracepath-Version prüft man mit -V; auf diesem Server war es iputils 20210202.
tracepath -Vtracepath from iputils 202102022️⃣ tracepath-Ausgabe lesen
Jede Ausgabezeile zeigt nacheinander die Hop-Nummer, die antwortende Adresse und die Umlaufzeit. Wo sich die Pfad-MTU ändert, steht pmtu, und wenn Hin- und Rückweg unterschiedlich viele Hops haben, steht asymm. Das prüfen Sie in jeder Zeile:
| Ausgabe | Bedeutung |
|---|---|
| 1?: | Feld der Hop-Nummer — ein ? steht bei Nummern, die geschätzt wurden, weil die Antwort keine TTL lieferte |
| [LOCALHOST] | Die Zeile des Servers selbst, bevor das Paket ins Netz geht |
| 0.077ms | Umlaufzeit bis zu diesem Hop |
| pmtu 1500 | An dieser Stelle geänderte Pfad-MTU (Bytes) — steht nur bei einer Änderung |
| asymm 8 | Unterschied der Hop-Anzahl zwischen Hin- und Rückweg — laut offiziellem Handbuch kein verlässlicher Wert |
| no reply | Hop, der auf das mit dieser TTL gesendete Paket nicht antwortete |
| reached | Zeile, in der das Ziel erreicht wurde |
| Too many hops | Stoppt nach der mit -m festgelegten Hop-Anzahl |
| Resume: pmtu … hops … back … | MTU des ganzen Pfads, Hops bis zum Ziel und geschätzte Hops für den Rückweg |
In der Ausgabe für example.com war die pmtu in der ersten Zeile [LOCALHOST] 9001 und änderte sich am ersten Hop auf 1500. Dass die Zeile mit TTL 1 zweimal mit nur geänderter Adresse erscheint, entspricht ebenfalls dem Beispiel im offiziellen Handbuch. Laut Handbuch erscheint dieselbe TTL-Zeile noch einmal, wenn das erste Paket wegen der Pfad-MTU am ersten Hop abgewiesen wird.
Ist das Ziel erreicht, steht am Zeilenende reached, und die letzte Resume-Zeile nennt die Hop-Anzahl bis zum Ziel. Beim Senden an 127.0.0.1 kam reached nach einem Hop, und die Resume-Zeile lautete [pmtu 65535 hops 1 back 1].
tracepath -n 127.0.0.1 1: 127.0.0.1 0.047ms reached
Resume: pmtu 65535 hops 1 back 1 Endet ein Pfad ohne reached mit Too many hops, kam innerhalb der mit -m festgelegten Hops keine Antwort vom Ziel. Auch der Pfad zu example.com hatte bis zehn Hops kein reached, daher blieb in der Resume-Zeile nur pmtu ohne Hop-Anzahl.
3️⃣ tracepath-Optionen
tracepath hat nur acht Optionen: -4, -6, -n, -b, -l, -m, -p und -V. Ohne Ziel aufgerufen, zeigt es diese Liste als Verwendung an. Ohne Optionen löst es antwortende Adressen in Namen auf; beim Senden an localhost stand localhost im Hop-Feld.
tracepath localhost 1?: [LOCALHOST] 0.003ms pmtu 65536
1: localhost 0.048ms reached
1: localhost 0.030ms reached
Resume: pmtu 65536 hops 1 back 1 [tracepath -n] gibt nur IP-Adressen aus, ohne Namen aufzulösen. Mit -n für dasselbe localhost wechselte das Hop-Feld zur IPv6-Adresse ::1, und auch beim Pfad zu example.com mit -n standen im Hop-Feld nur Adressen.
tracepath -n localhost 1?: [LOCALHOST] 0.005ms pmtu 65536
1: ::1 0.039ms reached
1: ::1 0.010ms reached
Resume: pmtu 65536 hops 1 back 1 -b gibt Namen und Adresse zusammen aus. Mit -b für 127.0.0.1 stand die Adresse in Klammern hinter dem Namen: [localhost (127.0.0.1)].
tracepath -b 127.0.0.1 1: localhost (127.0.0.1) 0.050ms reached
Resume: pmtu 65535 hops 1 back 1 -m legt die maximale Zahl der zu prüfenden Hops fest und nahm Werte von 0 bis 255 an. Mit -m 0 erschienen ohne Hop-Zeilen sofort nur Too many hops und die Resume-Zeile, 256 wurde mit [out of range] abgelehnt.
tracepath -m 0 127.0.0.1 Too many hops: pmtu 65535
Resume: pmtu 65535 -l ist die Länge des ersten gesendeten Pakets; Standard sind 65535 Bytes bei IPv4 und 128000 Bytes bei IPv6. Mit -l 1500 für 127.0.0.1 änderte sich die pmtu in der Resume-Zeile von 65535 auf 1500.
tracepath -l 1500 -n 127.0.0.1 1: 127.0.0.1 0.028ms reached
Resume: pmtu 1500 hops 1 back 1 -p legt den ersten UDP-Zielport fest. Mit -p 33434 für 127.0.0.1 war das Ergebnis dasselbe wie ohne.
| Option | Kopieren | Beschreibung |
|---|---|---|
| -n | Nur IP-Adressen ausgeben, ohne Namen aufzulösen | |
| -b | Namen und Adresse zusammen ausgeben | |
| -mHops | Maximale Zahl zu prüfender Hops, Standard 30 | |
| -lLänge | Länge des ersten Pakets, Standard IPv4 65535, IPv6 128000 | |
| -V | Version ausgeben und beenden |
| Option | Kopieren | Beschreibung |
|---|---|---|
| -4 | Sendet nur an IPv4-Adressen | |
| -6 | Sendet nur an IPv6-Adressen | |
| -pPort | Ersten UDP-Zielport festlegen |
4️⃣ Unterschied zwischen tracepath und traceroute
Auf Servern, auf denen sich traceroute nicht installieren lässt, prüft man den Weg mit tracepath statt traceroute. Auf dem geprüften AlmaLinux-9.8-Server fehlte das Paket traceroute, tracepath steckt dagegen im Paket iputils und lief ohne zusätzliche Installation.
rpm -q traceroutepackage traceroute is not installedBeim Debian-12-Server war es umgekehrt: traceroute 2.1.2 war installiert, das Paket iputils-tracepath mit tracepath dagegen nicht.
traceroute --versionModern traceroute for Linux, version 2.1.2
Copyright (c) 2016 Dmitry Butskoy, License: GPL v2 or any laterapt-cache policy iputils-tracepathiputils-tracepath:
Installed: (none)
Candidate: 3:20221126-1+deb12u1Wie diese beiden Server zeigen, hängt es von der Distribution ab, welche Befehle vorhanden sind. Prüfen Sie daher zuerst, welcher auf dem verbundenen Server existiert. tracepath braucht keine Root-Rechte und läuft mit jedem Konto, das UDP-Pakete senden kann. Die tracepath-Datei auf dem AlmaLinux-9.8-Server hatte ebenfalls die Rechte rwxr-xr-x, ohne zusätzliche Capabilities.
| Kategorie | tracepath | traceroute |
|---|---|---|
| AlmaLinux-9.8-Server | Im Paket iputils enthalten, läuft sofort | Nicht installiert |
| Debian-12-Server | Paket iputils-tracepath nicht installiert | traceroute 2.1.2 installiert |
| Gesendete Pakete | UDP | Standard UDP, -I für ICMP, -T für TCP |
| Ausgabe pro Hop | Eine Zeile | Standardmäßig drei Sendungen, drei Zeiten (mit -q änderbar) |
| Anzahl Optionen | Acht: -4 -6 -n -b -l -m -p -V | Über 20 allein auf der ersten --help-Seite |
Wenn Sie den Weg per ICMP oder TCP prüfen oder pro Hop mehrmals senden und Zeiten vergleichen müssen, installieren und nutzen Sie den Befehl traceroute. Auf Servern, auf denen die Installation schwierig ist oder auch die Pfad-MTU wichtig ist, passt tracepath.
🔲 tracepath-Befehlssimulator
Im Simulator unten können Sie den Pfad zu example.com mit geänderter Hop-Anzahl erneut ansehen oder -n, -b, -m und -l für localhost und 127.0.0.1 selbst eingeben und die Unterschiede vergleichen.
🔢 FAQ & empfohlene Inhalte
Firewall
FirewallD unter Linux installieren und den Daemon einrichten
Installation und Daemon-Einstellungen von FirewallD, das Firewall-Regeln mit Zonen und Diensten verwaltet.
Netzwerk · Einrichtung
Linux netstat-Befehl, ifconfig-Befehl
Die Befehle netstat und ifconfig zeigen offene Ports, Verbindungszustände und Informationen zu Netzwerkschnittstellen.
Netzwerk · DNS
Befehl nslookup
Der Befehl nslookup fragt einen DNS-Server, in welche IP-Adresse ein Domainname aufgelöst wird.
ℹ️ Affiliate-Hinweis
Die Inhalte dieser Website enthalten Affiliate-Links. Kauft ein Besucher über einen dieser Links ein Produkt oder eine Dienstleistung, erhält die Website vom Verkäufer eine Provision. Der Betrag, den der Käufer zahlt(bei Aktionsrabatten sinkt er ↓), steigt dadurch nicht. Angegebene Preise, Rabatte und Lagerbestände entsprechen dem Stand bei Erstellung und können abweichen; prüfe sie daher vor dem Kauf beim Verkäufer. Produkte werden nach eigenen Kriterien ausgewählt und bewertet, und Provisionen beeinflussen weder die Reihenfolge noch den Inhalt der Bewertungen.