So führen Sie einen Traceroute unter Windows, Mac und Linux aus
Ein Traceroute ist ein Netzwerkdiagnoseprogramm, das den genauen Pfad kartiert, den IP-Pakete von Ihrem Rechner zu einem Zielhost nehmen, dabei jeden zwischengeschalteten Router (Hop) aufzeichnet und die Round-Trip-Zeit (RTT) zu jedem einzelnen misst. Es ist das wirksamste Werkzeug, um zu isolieren, ob eine Latenzverzögerung, ein Paketverlust oder eine Routing-Anomalie in Ihrem lokalen Netzwerk, der Infrastruktur Ihres ISPs, einem Transit-Backbone oder dem Zielserver selbst entsteht.
Wenn Sie einen Traceroute ausführen, sendet Ihr System eine Reihe von Sondepaketen mit schrittweise steigenden TTL (Time To Live)-Werten. Jeder Router, der den TTL auf null dekrementiert, gibt eine ICMP-Meldung „Time Exceeded” zurück und offenbart dabei seine Identität und Antwortzeit. Dieser Mechanismus unterscheidet Traceroute grundlegend von einem einfachen `ping` — er legt die vollständige Routing-Topologie offen, nicht nur die End-to-End-Erreichbarkeit.
Wie Traceroute intern funktioniert
Das Verständnis der zugrunde liegenden Mechanismen verhindert eine Fehlinterpretation der Ergebnisse — ein Fehler, den selbst erfahrene Administratoren machen.
- Windows (`tracert`) sendet standardmäßig ICMP Echo Request-Pakete.
- Linux und macOS (`traceroute`) senden standardmäßig UDP-Datagramme an Ports mit hohen Nummern (33434+), obwohl dies konfigurierbar ist.
- Jede Sonde wird dreimal pro Hop gesendet, was drei RTT-Messungen pro Zeile ergibt.
- Ein Router, der ICMP/UDP rate-limitet oder verwirft, zeigt Sternchen (`* * *`), aber das bedeutet nicht zwangsläufig, dass der Pfad dahinter unterbrochen ist.
Dieser Verhaltensunterschied zwischen Betriebssystemen ist entscheidend: Ein Hop, der unter Linux nicht reagiert, kann unter Windows normal antworten, einfach weil die ACL des Routers UDP blockiert, aber ICMP erlaubt.
Wie man einen Traceroute unter Windows ausführt
Schritt 1: Eingabeaufforderung öffnen
Drücken Sie `Win + R`, geben Sie `cmd` ein und drücken Sie Enter. Alternativ können Sie im Startmenü nach Eingabeaufforderung suchen. In Umgebungen, in denen ICMP eingeschränkt ist, sollten Sie die Ausführung als Administrator in Betracht ziehen.
Schritt 2: Den Befehl ausführen
“`
tracert example.com
“`
Ersetzen Sie `example.com` durch den Ziel-Domainnamen oder die IP-Adresse. Windows löst den Hostnamen in eine IP auf, bevor die erste Sonde gesendet wird.
Schritt 3: Die Ausgabe lesen
“`
Tracing route to example.com [93.184.216.34] over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 192.168.0.1
2 10 ms 11 ms 10 ms 10.0.0.1
3 15 ms 16 ms 15 ms isp.gateway.net [203.0.113.1]
4 * * * Request timed out.
5 22 ms 21 ms 23 ms core1.backbone.net [198.51.100.5]
“`
Wichtige `tracert`-Optionen unter Windows
| Flag | Funktion |
|---|---|
| — | — |
| `-d` | Überspringt reverse DNS-Lookups, beschleunigt die Ausgabe erheblich |
| `-h <max_hops>` | Legt die maximale Hop-Anzahl fest (Standard: 30) |
| `-w <timeout>` | Legt die Wartezeit in Millisekunden pro Sonde fest (Standard: 4000 ms) |
| `-4` | Erzwingt IPv4 |
| `-6` | Erzwingt IPv6 |
Beispiel mit Optionen:
“`
tracert -d -h 20 -w 2000 example.com
“`
Profi-Tipp: Unter Windows ist `tracert -d` der schnellste Weg zu Ergebnissen, wenn Sie sich nur um das IP-Level-Routing und nicht um Hostnamen kümmern. Reverse-DNS-Lookups können bei überlasteten Netzwerken mehrere Sekunden pro Hop hinzufügen.
Wie man einen Traceroute unter macOS ausführt
Schritt 1: Terminal öffnen
Drücken Sie `Command + Space`, geben Sie Terminal ein und drücken Sie Enter. Oder navigieren Sie zu Programme > Dienstprogramme > Terminal.
Schritt 2: Den Befehl ausführen
“`
traceroute example.com
“`
macOS wird mit vorinstalliertem `traceroute` als Teil seines BSD-Netzwerk-Toolkits geliefert. Es ist keine zusätzliche Installation erforderlich.
Schritt 3: Die Ausgabe lesen
“`
traceroute to example.com (93.184.216.34), 64 hops max, 52 byte packets
1 192.168.0.1 (192.168.0.1) 1.206 ms 0.930 ms 0.799 ms
2 10.0.0.1 (10.0.0.1) 10.123 ms 10.456 ms 10.678 ms
3 isp.gateway.net (203.0.113.1) 15.789 ms 15.012 ms 15.234 ms
“`
Beachten Sie, dass macOS standardmäßig maximal 64 Hops verwendet, gegenüber 30 bei Windows — relevant beim Tracen von Pfaden zu geografisch entfernten oder komplexen Netzwerkzielen.
Wichtige `traceroute`-Optionen unter macOS
| Flag | Funktion |
|---|---|
| — | — |
| `-n` | Unterdrückt die Hostnamen-Auflösung, zeigt nur rohe IPs an |
| `-q <nqueries>` | Ändert die Anzahl der Sonden pro Hop (Standard: 3) |
| `-m <max_ttl>` | Legt maximalen TTL / Hop-Anzahl fest |
| `-w <waittime>` | Timeout in Sekunden pro Sonde |
| `-I` | Verwendet ICMP Echo anstelle von UDP (nützlich, wenn UDP blockiert ist) |
| `-T` | Verwendet TCP SYN-Sonden (erfordert Root; umgeht viele Firewalls) |
Beispiel — ICMP-Modus zur Umgehung von UDP-Filterung:
“`
sudo traceroute -I example.com
“`
Beispiel — TCP SYN-Modus auf Port 80 (firewall-freundlichste Methode):
“`
sudo traceroute -T -p 80 example.com
“`
Wie man einen Traceroute unter Linux ausführt
Schritt 1: Terminal öffnen
Drücken Sie `Ctrl + Alt + T` oder suchen Sie das Terminal in Ihrem Anwendungsstarter.
Schritt 2: `traceroute` bei Bedarf installieren
Bei vielen minimalen oder serverbasierten Linux-Distributionen ist `traceroute` nicht standardmäßig installiert.
Debian / Ubuntu:
“`
sudo apt-get install traceroute
“`
CentOS / RHEL / AlmaLinux / Rocky Linux:
“`
sudo yum install traceroute
“`
Fedora:
“`
sudo dnf install traceroute
“`
Arch Linux:
“`
sudo pacman -S traceroute
“`
Schritt 3: Den Befehl ausführen
“`
traceroute example.com
“`
Schritt 4: Die Ausgabe lesen
“`
traceroute to example.com (93.184.216.34), 30 hops max, 60 byte packets
1 192.168.0.1 (192.168.0.1) 0.728 ms 0.457 ms 0.373 ms
2 10.0.0.1 (10.0.0.1) 9.862 ms 9.946 ms 10.123 ms
3 isp.gateway.net (203.0.113.1) 14.987 ms 14.123 ms 15.456 ms
“`
Wichtige `traceroute`-Optionen unter Linux
| Flag | Funktion |
|---|---|
| — | — |
| `-n` | Deaktiviert die reverse DNS-Auflösung |
| `-I` | Sendet ICMP Echo-Sonden (erfordert Root) |
| `-T` | Sendet TCP SYN-Sonden (erfordert Root) |
| `-U` | Sendet UDP-Sonden (Standardverhalten) |
| `-p <port>` | Gibt den Zielport an |
| `-m <max_ttl>` | Maximale Anzahl von Hops |
| `-q <nqueries>` | Anzahl der Sonden pro Hop |
| `-A` | Gibt AS (Autonomous System)-Nummern neben jedem Hop aus |
Das `-A`-Flag ist besonders leistungsstark für die Diagnose von Inter-AS-Routing-Problemen — es zeigt, welcher ISP oder Netzbetreiber jeden Hop besitzt, sodass Sie genau feststellen können, wo eine Übergabe zwischen Carriern Latenz verursacht.
“`
traceroute -A example.com
“`
`mtr` — Die überlegene Alternative unter Linux
Für laufende oder interaktive Diagnosen kombiniert `mtr` (Matt’s Traceroute) `ping` und `traceroute` in einer kontinuierlich aktualisierten Anzeige. Es ist das bevorzugte Werkzeug unter Netzwerkingenieuren für die Echtzeit-Paketverlustanalyse.
“`
sudo apt-get install mtr
mtr example.com
“`
`mtr` sammelt Statistiken über die Zeit und macht intermittierenden Paketverlust sichtbar — etwas, das ein einmaliger `traceroute` vollständig übersehen würde.
Plattformübergreifender Vergleich: tracert vs. traceroute
| Merkmal | Windows (`tracert`) | macOS (`traceroute`) | Linux (`traceroute`) |
|---|---|---|---|
| — | — | — | — |
| Standard-Sondenprotokoll | ICMP Echo Request | UDP | UDP |
| Standard maximale Hops | 30 | 64 | 30 |
| Standard Sonden pro Hop | 3 | 3 | 3 |
| Paketgröße (Standard) | 40 bytes | 52 bytes | 60 bytes |
| ICMP-Modus | Standard | `-I`-Flag (Root) | `-I`-Flag (Root) |
| TCP SYN-Modus | Nativ nicht verfügbar | `-T`-Flag (Root) | `-T`-Flag (Root) |
| AS-Nummern-Lookup | Nicht verfügbar | Nicht verfügbar | `-A`-Flag |
| IPv6-Unterstützung | `-6`-Flag | `traceroute6`-Befehl | `-6`-Flag |
| Im Betriebssystem integriert | Ja | Ja | Erfordert oft Installation |
Traceroute-Ausgabe verstehen: Eine technische Aufschlüsselung
Hop-Nummer
Jede Zeile repräsentiert einen Router im Pfad. Hop 1 ist fast immer Ihr Standard-Gateway (Heimrouter oder LAN-Switch). Hop 2 ist typischerweise der erste Aggregationspunkt Ihres ISPs.
Antwortzeiten (RTT)
Pro Hop werden drei RTT-Werte angezeigt. Gesunde Werte folgen im Allgemeinen einem Muster des allmählichen Anstiegs, wenn die Hops geografische Distanz ansammeln. Ein plötzlicher Sprung von 50+ ms bei einem bestimmten Hop, der sich durch alle nachfolgenden Hops fortsetzt, weist auf einen echten Engpass an diesem Knoten hin.
Interpretation von `* * *` (Sternchen)
Sternchen bedeuten, dass die Sonde das Timeout überschritten hat — der Router hat innerhalb des Wartezeitfensters keine ICMP-Antwort zurückgegeben. Dies ist nicht automatisch ein Problem. Viele Unternehmensrouter und Backbone-Knoten priorisieren ICMP/UDP-Sondenpakete aus Sicherheitsgründen herunter oder verwerfen sie stillschweigend, während sie den Datenverkehr weiterhin normal weiterleiten. Wenn die Hops nach den Sternchen normale RTTs zeigen, ist der Pfad intakt.
Hohe Latenz bei einem einzelnen Hop
Wenn Hop 7 200 ms anzeigt, aber Hop 8 25 ms zeigt, ist die 200-ms-Messung mit ziemlicher Sicherheit ICMP-Rate-Limiting am Router von Hop 7 — kein echter Engpass. Der Router verarbeitet die Sonde mit niedriger Priorität, während er den eigentlichen Datenverkehr mit voller Geschwindigkeit weiterleitet. Bewerten Sie Latenztrends immer über den gesamten Pfad, nicht einzelne Hops isoliert.
Asymmetrisches Routing
Traceroute kartiert nur den Vorwärtspfad. Rückgabepakete können einer völlig anderen Route folgen. Das bedeutet, dass ein von Ihnen beobachteter Latenzsprung auf dem Rückpfad entstehen könnte, nicht auf dem angezeigten Vorwärtspfad. Für vollständige Sichtbarkeit werden Tools wie `traceroute` in beiden Richtungen (von der Quelle und vom Ziel) benötigt.
Routing-Schleifen
Wenn dieselbe IP-Adresse bei mehreren aufeinanderfolgenden Hops erscheint, existiert eine Routing-Schleife. Pakete werden unbegrenzt zwischen zwei Routern weitergeleitet, bis der TTL abläuft. Dies ist eine Fehlkonfiguration und führt zu einem vollständigen Verbindungsausfall zu diesem Ziel.
Häufige Traceroute-Szenarien und ihre Bedeutung
Szenario 1: Hohe Latenz ab Hop 2
Der erste Aggregationspunkt Ihres ISPs ist überlastet. Dies liegt außerhalb Ihrer Kontrolle. Dokumentieren Sie die Ausgabe mit Zeitstempeln und kontaktieren Sie Ihren ISP mit Belegen.
Szenario 2: Alle Hops nach Hop 5 zeigen `* * *`, aber das Ziel antwortet auf Ping
Die vorgelagerten Router des Ziels blockieren ICMP-Sonden. Wechseln Sie in den TCP SYN-Modus (`-T -p 443`), um durch Firewalls zu tracen.
Szenario 3: Latenzspitzen bei einem Hop in einem unerwarteten Land
Ihr Datenverkehr wird international geroutet, bevor er ein lokales Ziel erreicht — eine BGP-Routing-Anomalie. Dies ist häufig bei falsch konfiguriertem Anycast oder schlecht gepeertem ISPs.
Szenario 4: Traceroute wird abgeschlossen, aber die Website ist immer noch langsam
Der Engpass kann serverseitig sein: überlastete CPU, langsame Anwendungsantwort oder Datenbanklatenz. Traceroute misst nur die Netzwerkschicht-Performance. Wenn Sie auf einem VPS hosten und dies erleben, untersuchen Sie die Server-Ressourcenauslastung mit `top`, `htop` oder `vmstat`.
Szenario 5: Traceroute wird nie abgeschlossen (stoppt auf unbestimmte Zeit bei einem bestimmten Hop)
Eine Firewall verwirft Ihre Sonden und das Ziel ist nicht erreichbar. Bestätigen Sie dies mit `ping` zum Ziel. Wenn Ping ebenfalls fehlschlägt, ist der Host ausgefallen oder blockiert alle ICMP. Wenn Ping erfolgreich ist, wird nur das Sondenprotokoll blockiert — wechseln Sie das Protokoll.
Traceroute für Server- und Hosting-Diagnosen
Traceroute ist unverzichtbar bei der Diagnose von Verbindungsproblemen zwischen Ihrer Infrastruktur und Endbenutzern oder zwischen Diensten. Wenn Sie Anwendungen auf einem Dedicated Server betreiben, zeigt ein Traceroute von mehreren geografisch verteilten Ausgangspunkten, ob die Latenz auf eine bestimmte Region oder einen bestimmten ISP beschränkt ist.
In über ein Control Panel verwalteten Webhosting-Umgebungen hilft das Tracen von Routen zur IP Ihres Servers von der Client-Seite dabei, ein Hosting-Layer-Problem von einem Netzwerk-Transit-Problem zu unterscheiden. Administratoren, die VPS mit cPanel verwenden, können Traceroute-Daten mit serverseitigen Zugriffsprotokollen abgleichen, um ein vollständiges Bild einer Verbindungsbeschwerde zu erstellen.
Bei der Diagnose von E-Mail-Zustellungsfehlern oder SMTP-Timeouts ist das Ausführen eines Traceroutes zur IP Ihres Mailservers ein logischer erster Schritt, bevor SPF/DKIM-Einträge untersucht werden. Wenn Sie einen dedizierten E-Mail-Hosting-Dienst verwenden, hilft dies zu bestätigen, ob das Problem auf Netzwerkebene oder Konfigurationsebene liegt.
Bei latenzempfindlichen Workloads wie Machine-Learning-Inferenz oder Rendering-Pipelines, die auf GPU-Hosting laufen, hilft Traceroute zu überprüfen, ob der Netzwerkpfad zwischen Ihrem Client und dem GPU-Knoten optimal geroutet ist und keine unerwarteten Transit-Hops aufweist.
Fortgeschrittene Techniken: Online- und verteilter Traceroute
Einzelpunkt-Traceroutes zeigen nur den Pfad von Ihrem Rechner. Für eine umfassende Netzwerkanalyse:
- Looking-Glass-Server: Viele ISPs und IXPs betreiben öffentliche Looking-Glass-Server, mit denen Sie Traceroutes von deren Netzwerkkante aus ausführen können, was den Pfad aus der Perspektive eines Carriers offenbart.
- BGP.tools / RIPE Atlas: Verteilte Messplattformen, die Traceroutes von Hunderten globaler Ausgangspunkte gleichzeitig ausführen und regionale Routing-Anomalien aufdecken, die von einem einzelnen Standort aus unsichtbar sind.
- PathPing (Windows): Ein integriertes Windows-Tool, das `ping` und `tracert` kombiniert, kontinuierliche Sonden zu jedem Hop ausführt und Paketverluststatistiken berechnet. Ausführen mit: `pathping example.com`
- WinMTR: Ein grafisches Windows-Äquivalent von `mtr`, das Echtzeit-Paketverlust- und Latenzstatistiken pro Hop bereitstellt.
Praktische Entscheidungsmatrix: Welches Tool verwenden
| Situation | Empfohlenes Tool |
|---|---|
| — | — |
| Schnelle einmalige Pfadprüfung unter Windows | `tracert -d target` |
| Schnelle einmalige Pfadprüfung unter Linux/macOS | `traceroute -n target` |
| Laufende/Echtzeit-Paketverlustanalyse | `mtr target` |
| Ziel hinter Firewall, die ICMP/UDP blockiert | `traceroute -T -p 443 target` (Linux/macOS) |
| Identifizierung des ISPs für jeden Hop | `traceroute -A target` (Linux) |
| Diagnose von mehreren globalen Standorten | RIPE Atlas oder BGP.tools |
| Windows kontinuierliche Verluststatistiken | `pathping target` |
| Vergleich von Vorwärts- und Rückwärtspfaden | Traceroute von beiden Endpunkten ausführen |
Wichtige technische Erkenntnisse
- Verwenden Sie immer zuerst `-n` oder `-d`, um DNS-Auflösungsverzögerungen zu eliminieren und schneller rohe Ergebnisse zu erhalten.
- Ein Hop, der `* * *` anzeigt, weist nicht auf einen unterbrochenen Pfad hin — bewerten Sie die darauf folgenden Hops.
- Latenz bei einem einzelnen zwischengeschalteten Hop ist häufig ICMP-Rate-Limiting, kein echter Engpass.
- Wechseln Sie das Sondenprotokoll (ICMP, UDP, TCP SYN), wenn Sie auf anhaltende Timeouts stoßen — Firewalls sind protokollselektiv.
- Verwenden Sie `mtr` anstelle von `traceroute` für jede Diagnosesitzung, die länger als eine einzelne Prüfung dauert.
- Traceroute zeigt nur den Vorwärtspfad. Asymmetrisches Routing erfordert eine bidirektionale Analyse.
- Das `-A`-Flag beim Linux-Traceroute fügt AS-Nummern-Annotationen hinzu, was für die Multi-ISP-Routing-Analyse unerlässlich ist.
- Dokumentieren Sie Traceroute-Ausgaben mit Zeitstempeln, wenn Sie ISP-Support-Tickets einreichen — Carrier benötigen diese Daten zur Untersuchung von BGP-Level-Problemen.
Häufig gestellte Fragen
Warum zeigt Traceroute `* * *` für einige Hops, aber das Ziel ist trotzdem erreichbar?
Router entlang des Pfades sind so konfiguriert, dass sie ICMP-TTL-Exceeded-Meldungen verwerfen oder rate-limitieren, während sie den Datenverkehr weiterhin normal weiterleiten. Dies ist eine bewusste Sicherheits- und Leistungsrichtlinie auf den meisten Unternehmens- und Carrier-Grade-Routern. Es weist nicht auf Paketverlust im Datenpfad hin.
Was ist der Unterschied zwischen `tracert` unter Windows und `traceroute` unter Linux?
Der wesentliche Unterschied liegt im Standard-Sondenprotokoll: `tracert` verwendet ICMP Echo Requests, während Linux/macOS `traceroute` UDP-Datagramme verwendet. Das bedeutet, dass sie unterschiedlich mit Firewalls und ACLs interagieren. Linux `traceroute` unterstützt auch TCP SYN-Sonden und AS-Nummern-Lookups, was `tracert` nicht tut.
Wie führe ich einen Traceroute durch eine Firewall aus, die UDP und ICMP blockiert?
Verwenden Sie den TCP SYN-Modus mit einem Port, der am Ziel mit ziemlicher Sicherheit offen ist, wie Port 80 oder 443: `sudo traceroute -T -p 443 example.com`. TCP SYN-Sonden passieren die meisten Stateful-Firewalls, weil sie dem Beginn einer legitimen Verbindung ähneln.
Was bedeutet es, wenn die Traceroute-Latenz plötzlich ansteigt und für alle verbleibenden Hops hoch bleibt?
Ein anhaltender Latenzanstieg ab einem bestimmten Hop weist auf einen echten Engpass oder eine überlastete Verbindung an diesem Punkt im Pfad hin. Dies unterscheidet sich von einem einzelnen Hop-Spike (der normalerweise Rate-Limiting ist). Der anhaltende Anstieg bedeutet, dass der gesamte Datenverkehr an diesem Knoten oder der unmittelbar dahinter liegenden Verbindung verzögert wird.
Kann Traceroute langsame Website-Performance diagnostizieren?
Traceroute diagnostiziert nur Netzwerkschicht-Latenz und Routing-Probleme. Wenn der Netzwerkpfad sauber aussieht, die Website aber immer noch langsam ist, liegt das Problem serverseitig — Anwendungsverarbeitungszeit, Datenbankabfragelatenz oder Ressourcenerschöpfung. Verwenden Sie Server-Monitoring-Tools zusammen mit Traceroute für eine vollständige Diagnose.
