W systemach Unix/Linux polecenie "traceroute" jest używane do określenia (śledzenia) trasy pakietów do hosta docelowego w Internecie. Wynikiem działania jest lista kolejnych przeskoków (ang. hops), czyli routerów pośrednich, wraz z informacjami takimi jak adresy (lub nazwy) oraz czasy odpowiedzi dla każdego etapu.
Mechanizm działania traceroute opiera się na idei TTL (Time To Live) w pakietach IP: wysyłane są pakiety z rosnącym TTL (np. 1, 2, 3…), co powoduje, że kolejne routery pośrednie "kończą" pakiet i odsyłają komunikat o przekroczeniu czasu. Dzięki temu można zobaczyć, przez jakie urządzenia przechodzi ruch i gdzie pojawia się opóźnienie albo brak odpowiedzi.
Dlaczego pozostałe odpowiedzi są błędne?
- "ping" służy do sprawdzania, czy host jest osiągalny oraz do pomiaru czasu RTT i ewentualnej utraty pakietów. Korzysta z ICMP echo request/reply, ale nie pokazuje listy routerów pośrednich.
- "tracert" to nazwa narzędzia typowa dla systemów Windows. Cel jest podobny (śledzenie trasy), ale pytanie dotyczy systemów unixowych, gdzie standardowo stosuje się "traceroute" (lub narzędzia pokrewne, np. tracepath).
- "windump" to narzędzie do przechwytywania i analizy pakietów (sniffer), zbliżone funkcjonalnie do tcpdump. Pozwala podejrzeć ruch, ale samo w sobie nie służy do wyświetlania trasy do hosta.
W praktyce administrator najpierw używa "ping", by potwierdzić osiągalność, a gdy problem dotyczy jakości połączenia lub miejsca "zatrzymania" ruchu, uruchamia "traceroute", aby ustalić, na którym hopie pojawiają się opóźnienia lub brak odpowiedzi.