traceroute pokazuje trasę, jaką pakiety pokonują od Twojej maszyny do wskazanego hosta. Wypisuje kolejne routery (tzw. hopy), przez które przechodzi ruch, wraz z czasem odpowiedzi każdego z nich. To narzędzie numer jeden, gdy chcesz odpowiedzieć na pytanie „gdzie to się zacina?” — czy problem leży u Ciebie, u dostawcy, czy dopiero gdzieś w połowie świata. Domyślnie wysyła sondy UDP, mierzy czas dla trzech prób na każdy hop i idzie maksymalnie do 30 przeskoków.
Składnia i najważniejsze opcje
Podstawowa forma to traceroute [opcje] host, gdzie host podajesz jako nazwę domeny lub adres IP.
-n— nie rozwiązuj nazw hostów, pokazuj same adresy IP. Szybciej i bez opóźnień na powolnym DNS.-m maks_hopów— maksymalna liczba przeskoków (domyślnie 30). Przydatne, gdy trasa jest długa albo chcesz ją uciąć.-q liczba— ile sond wysłać na każdy hop (domyślnie 3). Ustaw-q 1, jeśli chcesz zwięźlejszy wynik.-w sekundy— jak długo czekać na odpowiedź z hopa (domyślnie 5 sekund). Skróć, żeby szybciej pomijać milczące routery.-I— użyj sond ICMP ECHO zamiast UDP (jak w windowsowymtracert).-T— użyj pakietów TCP SYN. Ratunek, gdy firewalle przepuszczają tylko konkretny port.-p port— port docelowy (znaczenie zależy od trybu: UDP, ICMP lub TCP).
Przykłady użycia
traceroute google.com— najprostsze sprawdzenie trasy do serwera Google, z rozwiązywaniem nazw pośrednich routerów.traceroute -n 8.8.8.8— trasa do 8.8.8.8 bez zamiany IP na nazwy; wynik pojawia się od razu, bez oczekiwania na DNS.traceroute -m 15 example.com— ograniczenie diagnostyki do 15 przeskoków, gdy interesuje Cię tylko początek trasy.sudo traceroute -I example.com— sondy ICMP zamiast UDP; często przechodzą tam, gdzie UDP jest blokowane.sudo traceroute -T -p 443 example.com— sondy TCP na port 443, żeby prześledzić trasę tak, jak widzi ją ruch HTTPS.
Częste błędy i pułapki
Gwiazdki * * * na jednym hopie nie znaczą, że łącze jest zerwane — wiele routerów po prostu nie odpowiada na sondy albo ma limit ICMP. Jeśli gwiazdki są tylko w środku, a host docelowy odpowiada, wszystko jest w porządku. Tryby -I i -T zwykle wymagają uprawnień roota (surowe gniazda), więc uruchamiaj je przez sudo. Pamiętaj też, że traceroute pokazuje trasę tylko w jedną stronę — droga powrotna pakietów może biec zupełnie inaczej, więc nie wyciągaj z niego wniosków o całej pętli. Na Windowsie odpowiednikiem jest tracert (domyślnie ICMP), a na innych systemach składnia flag potrafi się nieco różnić.
Powiązane komendy: ping, mtr, tracepath, dig, nslookup, ip route.