traceroute-Befehl: Installation, Verwendung und die Optionen -n, -I, -T
Um Hop für Hop zu prüfen, welche Router Pakete auf dem Weg zum Ziel durchlaufen, verwendest du den Befehl traceroute. Auf dem AlmaLinux-9.8-Server war traceroute nicht installiert, daher haben wir es mit dnf installiert, und auf einem Debian-12-Server mit traceroute 2.1.2 erreichte die Route zu example.com beim siebten Hop das Ziel.
Die folgende Ausgabe stammt vom Debian-12-Server und wurde mit einem normalen Konto erzeugt, nur die rpm- und dnf-Ausgaben im Installationskapitel kommen vom AlmaLinux-9.8-Server (root-Konto). Der Hostname des Servers wurde in server1 geändert, die Router- und Zieladressen in den Routen wurden durch Beispieladressen ersetzt (192.0.2.x, 198.51.100.x, 203.0.113.x). Die Release-Nummer des installierten Pakets (die Hauptversion 2.1 bleibt gleich) und die dnf-Metadatenzeit sind ebenfalls Beispielwerte, die Antwortzeiten sind die tatsächlich gemessenen Werte.
1️⃣ traceroute installieren
Ob traceroute standardmäßig installiert ist, hängt von der Distribution ab. Auf dem AlmaLinux-9.8-Server erschien beim Aufruf [traceroute: command not found], und auch die Abfrage mit rpm fand kein installiertes Paket.
rpm -q traceroutepackage traceroute is not installedIn der RHEL-Familie installierst du es mit dnf. Eine Vorschau mit [--assumeno] zeigte nur ein Paket zur Installation, traceroute aus dem baseos-Repository, ohne weitere Pakete.
dnf install --assumeno tracerouteLast metadata expiration check: 0:05:00 ago on Thu Oct 29 09:00:00 2026.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
traceroute x86_64 3:2.1.0-9.el9 baseos 56 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 56 k
Installed size: 107 k
Operation aborted.Die Downloadgröße betrug 56k, die Größe nach der Installation 107k. [--assumeno] beantwortet alle Fragen mit no, installiert also nichts und endet mit [Operation aborted.] (laut offizieller dnf-Dokumentation).
Die eigentliche Installation erfolgte mit [dnf install traceroute], also ohne [--assumeno].
dnf install tracerouteLast metadata expiration check: 0:20:00 ago on Thu Oct 29 09:00:00 2026.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
traceroute x86_64 3:2.1.0-9.el9 baseos 56 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 56 k
Installed size: 107 k
Downloading Packages:
traceroute-2.1.0-9.el9.x86_64.rpm 3.6 MB/s | 56 kB 00:00
--------------------------------------------------------------------------------
Total 97 kB/s | 56 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : traceroute-3:2.1.0-9.el9.x86_64 1/1
Running scriptlet: traceroute-3:2.1.0-9.el9.x86_64 1/1
Verifying : traceroute-3:2.1.0-9.el9.x86_64 1/1
Installed:
traceroute-3:2.1.0-9.el9.x86_64
Complete!Unter [Installed:] erschien nur das Paket traceroute, und die Installation endete ohne Abhängigkeiten mit [Complete!].
Nach der Installation haben wir die Version mit [traceroute --version] geprüft.
traceroute --versionModern traceroute for Linux, version 2.1.0
Copyright (c) 2016 Dmitry Butskoy, License: GPL v2 or any laterDer mit [command -v traceroute] gefundene Pfad der ausführbaren Datei war [/usr/bin/traceroute].
In der Debian-Familie installierst du das Paket traceroute aus dem Repository der Distribution mit [apt install traceroute] (laut offiziellen Debian-Paketinformationen). Die installierte Version prüfst du mit --version.
traceroute --versionModern traceroute for Linux, version 2.1.2
Copyright (c) 2016 Dmitry Butskoy, License: GPL v2 or any laterAuf dem Debian-12-Server war das Paket traceroute bereits installiert, und als Version erschien [Modern traceroute for Linux] 2.1.2.
2️⃣ So verwendest du den traceroute-Befehl
traceroute nimmt einen Zielnamen oder eine IP-Adresse entgegen und sendet Pakete, deren TTL bei 1 beginnt und jeweils um eins steigt. Ein Paket mit TTL 1 läuft am ersten Router ab, ein Paket mit TTL 2 am zweiten. Aus den [time exceeded]-Antworten dieser Router gibt traceroute für jeden Hop die Adresse und die Round-Trip-Zeit aus (laut offiziellem Handbuch).
Erreicht ein Paket das Ziel, antwortet das Ziel mit [port unreachable] und die Ausgabe endet bei diesem Hop; andernfalls läuft sie bis zur maximalen Hop-Zahl weiter. Laut offiziellem Handbuch werden pro Hop drei Pakete gesendet, daher stehen in einer Zeile drei Zeiten, und standardmäßig werden bis zu 30 Hops geprüft.
Für example.com haben wir mit -n nur Adressen ausgegeben und mit -m 10 nur bis zum zehnten Hop geprüft.
traceroute -n -m 10 example.comtraceroute to example.com (203.0.113.154), 10 hops max, 60 byte packets
1 192.0.2.1 0.110 ms 0.083 ms 0.067 ms
2 192.0.2.2 0.348 ms 0.273 ms 0.263 ms
3 198.51.100.77 0.426 ms 0.337 ms 198.51.100.13 1.251 ms
4 198.51.100.49 0.968 ms 1.264 ms 198.51.100.53 1.148 ms
5 * * *
6 203.0.113.19 1.631 ms 203.0.113.25 2.549 ms 203.0.113.14 1.543 ms
7 203.0.113.154 1.544 ms 1.656 ms 1.607 msDie erste Zeile zeigte den Zielnamen, die tatsächlich verwendete Adresse, die maximale Hop-Zahl und die Paketgröße von 60 Byte. Beim siebten Hop antwortete die Zieladresse, daher endete der Lauf vor dem zehnten Hop, und das Ganze dauerte weniger als eine Sekunde.
| Ausgabe | Bedeutung |
|---|---|
| traceroute to example.com (203.0.113.154) | Zielname und die daraus aufgelöste Adresse, an die tatsächlich gesendet wurde |
| 10 hops max | Maximale Hop-Zahl — wird mit -m festgelegt, Standardwert 30 |
| 60 byte packets | Größe der gesendeten Pakete — standardmäßig 60 Byte bei IPv4 und 80 Byte bei IPv6 (laut offiziellem Handbuch) |
| 1 | Hop-Nummer — der TTL-Wert dieses Pakets |
| 192.0.2.1 | Adresse des Routers, der bei diesem Hop geantwortet hat |
| 0.110 ms 0.083 ms 0.067 ms | Round-Trip-Zeiten der drei an einen Hop gesendeten Pakete |
| 198.51.100.77 … 198.51.100.13 | Zeile mit zwei Adressen, weil beim selben Hop verschiedene Router auf verschiedene Pakete geantwortet haben |
| * * * | Keines der drei Pakete bekam rechtzeitig eine Antwort — jedes Sternchen steht für ein Paket |
| !H · !N · !P · !X | Unreachable-Kennzeichen hinter der Zeit — Host, Netzwerk oder Protokoll nicht erreichbar, administrativ verboten (laut offiziellem Handbuch) |
Der dritte und vierte Hop zeigten zwei Adressen in einer Zeile, der sechste Hop drei. Antworten auf die drei Pakete eines Hops verschiedene Router, gibt traceroute laut offiziellem Handbuch alle antwortenden Adressen hintereinander aus.
Ohne -n wandelt traceroute die antwortenden Adressen in Hostnamen um.
traceroute localhosttraceroute to localhost (127.0.0.1), 30 hops max, 60 byte packets
1 server1 (127.0.0.1) 0.068 ms 0.048 ms 0.028 msMit localhost erschien in der Hop-Spalte der Hostname des Debian-12-Servers, dahinter in Klammern die Adresse 127.0.0.1.
3️⃣ traceroute-Optionen
Die --help-Ausgabe von traceroute 2.1.2 listet 34 Optionen auf. Davon haben wir -n, -q und -m, die die Ausgabe ändern, sowie -I und -T, die die gesendeten Pakete ändern, mit einem normalen Konto auf dem Debian-12-Server ausprobiert.
[traceroute -n] gibt nur IP-Adressen aus, ohne sie in Hostnamen umzuwandeln. Mit -n auf demselben localhost blieb in der Hop-Spalte nur 127.0.0.1 stehen.
traceroute -n localhosttraceroute to localhost (127.0.0.1), 30 hops max, 60 byte packets
1 127.0.0.1 0.073 ms 0.075 ms 0.025 ms-q legt die Anzahl der Pakete pro Hop fest, der Standardwert ist 3. Mit -q 1 erschien nur eine Zeit, mit -q 5 erschienen fünf.
traceroute -q 1 -n 127.0.0.1traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 60 byte packets
1 127.0.0.1 0.096 mstraceroute -q 5 -n 127.0.0.1traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 60 byte packets
1 127.0.0.1 0.083 ms 0.028 ms 0.024 ms 0.022 ms 0.022 ms-m ändert die maximale Hop-Zahl. Die Eingabe 256 wurde mit [max hops cannot be more than 255] abgelehnt.
traceroute -m 256 -n 127.0.0.1max hops cannot be more than 255Pakete werden standardmäßig per UDP gesendet. -I sendet sie als ICMP ECHO, -T als TCP SYN (standardmäßig Port 80). Mit diesen beiden Optionen prüfst du eine Route, die UDP filtert, mit einem anderen Pakettyp erneut. Mit einem normalen Konto hinterließen beide Optionen eine Meldung über fehlende Rechte und endeten mit Exit-Code 1.
traceroute -I -n 127.0.0.1You do not have enough privileges to use this traceroute method.
socket: Operation not permittedtraceroute -T -n 127.0.0.1You do not have enough privileges to use this traceroute method.
socket: Operation not permittedDas offizielle Handbuch nennt die Standardmethode und -U (fester Zielport 53) als die Methoden, die normalen Konten erlaubt sind. -I läuft mit einem normalen Konto nur, wenn die Kernel-Einstellung ping_group_range die Gruppe dieses Kontos zulässt.
cat /proc/sys/net/ipv4/ping_group_range1 0Der Wert des Debian-12-Servers war [1 0], was laut Linux-Kernel-Dokumentation keine Gruppe zulässt. -T gehört unabhängig von dieser Einstellung nicht zu den normalen Konten erlaubten Methoden, führe beide Optionen also mit einem Konto mit root-Rechten aus.
📌 Wichtige Optionen: Ergebnisse aus diesem Artikel
| Option | Was es tut | Ergebnis in diesem Artikel |
|---|---|---|
| -n | Gibt nur IP-Adressen aus, ohne sie in Hostnamen umzuwandeln | Mit localhost blieb in der Hop-Spalte nur 127.0.0.1 stehen |
| -q | Legt die Anzahl der Pakete pro Hop fest (Standard 3) | -q 1 zeigt eine Zeit, -q 5 zeigt fünf |
| -m | Legt die maximale Hop-Zahl fest (Standard 30) | Mit -m 10 endete example.com beim siebten Hop, -m 256 wurde mit [max hops cannot be more than 255] abgelehnt |
| -I | Sendet Pakete als ICMP ECHO | Mit normalem Konto Meldung über fehlende Rechte und Exit-Code 1 |
| -T | Sendet Pakete als TCP SYN (standardmäßig Port 80) | Mit normalem Konto Meldung über fehlende Rechte und Exit-Code 1 |
| -U | Sendet per UDP mit festem Zielport 53 | example.com zeigte vom siebten bis zum zehnten Hop * * *, die Zieladresse erschien nicht |
📎 Weitere Optionen: laut offiziellem Handbuch
| Option | Was es tut |
|---|---|
| -w | Legt die maximale Wartezeit auf eine Antwort fest (Standard 5 Sekunden) |
| -p | Legt den Port fest (Startport bei UDP, fester Zielport bei TCP, Start-Sequenznummer bei ICMP) |
| -f | Legt die Start-TTL fest (Standard 1) |
| -N | Legt die Anzahl gleichzeitig gesendeter Pakete fest (Standard 16, bei Routern mit begrenzter Antwortrate verringern) |
| -s | Ändert die Absenderadresse in die Adresse einer anderen Schnittstelle des Servers |
| -i | Legt die Netzwerkschnittstelle für ausgehende Pakete fest (standardmäßig laut Routing-Tabelle) |
| -4 | Sendet nur über IPv4 (Standard ist IPv4, wenn ein Name IPv4- und IPv6-Adressen liefert) |
| -6 | Sendet nur über IPv6 |
🔲 Simulator für den traceroute-Befehl
Im Simulator unten kannst du die Route zu example.com mit -m verkürzen oder mit 127.0.0.1 und localhost -n, -q, -f (Start-Hop) sowie die rechtepflichtigen Optionen -I und -T selbst eingeben.
4️⃣ Hops ohne Antwort in traceroute
Auch wenn du die Sendeart ändern kannst, bleibt ein Hop ohne Antwort bei [* * *]. Laut offiziellem Handbuch steht jedes Sternchen für ein Paket ohne rechtzeitige Antwort, und die Wartezeit beträgt höchstens 5 Sekunden.
Bei * * * an einem Hop in der Mitte liegt der Schluss nahe, die Route sei dort unterbrochen. Auf der mit der Standardmethode gesendeten Route zu example.com war nur der fünfte Hop * * *, die Pakete passierten ihn aber, liefen über den sechsten Hop und erreichten beim siebten das Ziel.
-U sendet mit festem Zielport 53. Als wir mit -U Pakete an dasselbe example.com schickten, antwortete beim sechsten Hop der Router vor dem Ziel, danach folgte vom siebten bis zum zehnten Hop * * *, und die Zieladresse erschien nicht.
traceroute -U -n -m 10 example.comtraceroute to example.com (203.0.113.154), 10 hops max, 60 byte packets
1 192.0.2.1 0.176 ms 0.096 ms 0.661 ms
2 * * *
3 198.51.100.13 0.622 ms 0.586 ms 0.562 ms
4 198.51.100.49 0.898 ms 1.314 ms 198.51.100.53 1.159 ms
5 * * *
6 203.0.113.9 3.773 ms 203.0.113.27 3.275 ms 203.0.113.14 8.973 ms
7 * * *
8 * * *
9 * * *
10 * * *Das offizielle Handbuch erklärt, dass das Programm auf der Zielseite bei -U meist nicht antwortet und der letzte Hop deshalb nicht sichtbar ist. Auch auf einer Route, auf der eine Firewall die UDP-Ports von traceroute oder ICMP ECHO filtert, kommt von hinter dieser Firewall keine Antwort, und es folgt nur noch * * *.
| Wo * * * erscheint | So liest du es | Erneut prüfen |
|---|---|---|
| Ein einzelner Hop in der Mitte | Von diesem Hop kommt keine Antwort — antworten spätere Hops, haben die Pakete ihn passiert | So lassen und die späteren Hops lesen |
| Vor dem Ziel bis -m | Das Ziel oder eine Firewall davor filtert dieses Paket oder diesen Port (laut offiziellem Handbuch) | Standardmethode / -T (root) / [-T -p Port] |
| Hops, die sich bei jedem Lauf ändern | Begrenzt ein Router seine ICMP-Antwortrate, können einzelne Antworten fehlen (laut offiziellem Handbuch) | [-N 1] · [-w 5] |
Endet die Ausgabe vor dem Ziel, ändere die Sendeart und prüfe erneut. Das offizielle Handbuch stellt -T als Methode vor, die für den Weg durch Firewalls gedacht ist. Bei einem Ziel mit eindeutig offenem Port, etwa einem Mailserver, kann laut Handbuch die Angabe dieses Ports wie in [-T -p 25] auch dann durchkommen, wenn -I scheitert.
Das * an einem Hop in der Mitte kann sich auch je nach Sendeart oder Lauf ändern. Der zweite Hop antwortete mit der Standardmethode, zeigte mit -U aber * * *. Das offizielle Handbuch sagt, dass einzelne Antworten fehlen können, wenn ein Router seine ICMP-Antwortrate begrenzt, und rät, die gleichzeitig gesendeten Pakete mit [-N 1] zu verringern. traceroute verkürzt außerdem die Wartezeit anhand bereits erhaltener Antwortzeiten; erscheint dadurch ein * zu früh, gib wie in [-w 5] nur eine einzige Wartezeit an, um diese Berechnung abzuschalten (laut offiziellem Handbuch).
5️⃣ tracepath statt traceroute
Auf einem Server, auf dem du keine Pakete installieren kannst, prüfst du dieselbe Route mit dem Befehl tracepath. Auf dem AlmaLinux-9.8-Server fehlte traceroute, tracepath war aber als iputils 20210202 vorhanden. Auf dem Debian-12-Server dagegen fehlte tracepath. Laut offiziellem tracepath-Handbuch läuft tracepath ohne root-Rechte, hat dafür aber weniger Optionen und sendet nur UDP. Wenn du also mit -I oder -T die Sendeart ändern oder mit -q pro Hop mehrere Pakete zum Vergleich senden willst, installiere traceroute und verwende es.
🔢 FAQ & empfohlene Inhalte
Netzwerk · Einrichtung
[Linux] ip-Befehl: Netzwerkschnittstellen und Einstellungen verwalten
Der ip-Befehl prüft und verwaltet den Status von Netzwerkschnittstellen, IP-Adressen und die Routing-Tabelle.
Firewall · Ubuntu
[Ubuntu] Die Firewall UFW unter Ubuntu einrichten
Einrichtung, um UFW, die Standard-Firewall von Ubuntu, zu aktivieren und Status und Regeln zu prüfen.
Netzwerk · DNS
Linux host-Befehl | Befehl für DNS-Abfragen
Der host-Befehl fragt das DNS ab und wandelt Hostnamen in IP-Adressen und IP-Adressen in Hostnamen um.
ℹ️ 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.