IP & Network

Sieciowy traceroute

Śledzi ścieżkę sieciową do dowolnego hosta, hop po hopie.

O tym narzędziu

Traceroute ujawnia rzeczywistą trasę, którą Twoje pakiety przebywają przez internet — każdy router, każdy hop, każdą zmianę opóźnienia po drodze. Tam, gdzie ping mówi "czy host działa", traceroute mówi "jak wygląda ścieżka i gdzie zwalnia".

Nasze narzędzie uruchamia traceroute -n -q 1 -m 30 z naszego serwera we Frankfurcie, wysyłając jedną sondę na hop z timeoutem 2 sekund. Gdy każdy router odpowie, wiersz pojawia się w przeglądarce — obserwujesz budowanie trasy hop po hopie. Dodajemy reverse DNS, kraj (z flagą), miasto oraz ASN/właściciela dla każdego publicznego IP, więc widzisz, kto operuje każdy fragment ścieżki.

Co można z tym zrobić

  • Znajdź, gdzie mieszka opóźnienie. Czysty trace z niskim RTT, który nagle skacze o 80 ms na hopie 12, wskazuje na jeden konkretny tranzyt. ASN tego hopa mówi, czyja to sieć.
  • Potwierdź, że ścieżka biegnie przez oczekiwaną geografię. Ruch z Frankfurtu do "europejskiego" hosta, który robi okrążenie przez Nowy Jork, to znaczący sygnał — może to być błędny routing lub normalny brzeg CDN, ale warto zobaczyć.
  • Porównaj dwa hosty obok siebie. Uruchom traceroute do A i do B; jeśli oba giną na tym samym hopie, problem jest między nami a tym pośrednim routerem, a nie po stronie celów.

Czytanie wyniku

Hopy oznaczone * oznaczają brak odpowiedzi w ciągu 2 sekund — to albo router, który odrzuca komunikaty ICMP TTL-exceeded (bardzo częste), albo prawdziwa utrata pakietu. Trwałe * na ostatnich kilku hopach, podczas gdy wcześniejsze działają, zwykle oznacza, że firewall w miejscu docelowym po cichu odrzuca sondy traceroute — host działa, jest tylko ukryty. Kolumna reverse DNS podpowiada topologię operatora: nazwy w stylu be-1234.cr1-fra.de.example.net mają wzorzec (interfejs, rola, lokalizacja, sufiks ASN).

Najczęstsze pytania

Dlaczego niektóre hopy pokazują "*" w nieskończoność?

* oznacza brak odpowiedzi dla danego TTL w ciągu 2 sekund. Najczęstszy powód to router, który po prostu nie emituje ICMP TTL-exceeded — wielu operatorów ogranicza lub wyłącza to na routerach szkieletowych. Trace kontynuuje normalnie obok tych hopów, więc kilka gwiazdek w środku to nie problem. Długi ciąg gwiazdek na końcu zwykle oznacza, że firewall celu odrzuca sondy; sam host może być nadal osiągalny po TCP.

Dlaczego mój traceroute różni się od Twojego?

Nasze sondy wychodzą z Frankfurtu, Twoje z Twojej maszyny — inni dostawcy, inny peering, inna geografia. Trace to migawka ścieżki między dwoma konkretnymi punktami w konkretnym czasie. Porównanie obu wersji jest właśnie sensem: jeśli nasza ścieżka jest czysta, a Twoja nie, regresja jest powyżej Ciebie, nie po stronie celu.

Czy prywatne/loopback IP są dozwolone jako cele?

Nie. Prywatne zakresy RFC 1918, loopback, link-local (169.254/16), CGN (100.64/10) i punkty metadanych chmurowych są odrzucane — ta sama polityka SSRF co w innych naszych narzędziach. Do inspekcji własnej sieci LAN użyj traceroute na własnej maszynie; publiczny serwis powinien sondować tylko publiczny internet.

Tylko jeden RTT na hop — dlaczego nie trzy?

Klasyczny traceroute wysyła trzy sondy na TTL i drukuje trzy round-tripy. Używamy jednej na hop (-q 1), aby najgorszy przypadek (30 nieosiągalnych hopów × 2 s) zmieścił się w budżecie 60 sekund — utrzymujemy tanie sondy i pozwalamy na ponowne uruchomienie, jeśli chcesz dokładniejszego pomiaru. Do głębszej analizy jittera na konkretnym hopie najlepszy jest nasz Ping: wysyła 5–30 echo i daje min/avg/max/mdev.

Mój ulubiony host pokazuje opóźnienie, które nie pasuje do mojego pingu. Dlaczego?

Dwa powody. Po pierwsze, RTT traceroute dla pośredniego hopa mierzy czas, jaki router spędził na generowaniu odpowiedzi ICMP TTL-exceeded — wiele routerów depriorytetyzuje tę ścieżkę, więc liczba może wyglądać gorzej niż rzeczywiste opóźnienie przekazywania. Po drugie, mierzymy z Frankfurtu; Ty mierzysz tam, gdzie jesteś. Wiersz docelowy (ostatni hop) jest najbliższym analogiem Twojego pingu end-to-end, ale tylko gdy to faktyczny cel.