Polecenie tracert (traceroute) to narzędzie służące do śledzenia trasy pakietów IP w sieciach. Polecenie tracert wykorzystuje pole czasu IP TTL i komunikaty o błędach protokołu ICMP do określania trasy między poszczególnymi hostami w sieci. Tracert jest dostępny zarówno w systemach Windows ja i Linux (traceroute).

Działanie narzędzia traceroute/tracert oparte jest na protokołach komunikacyjnych UDP i ICMP. Pierwszy pakiet wysyłany jest z polem TTL (Time To Live) ustawionym na 1. Następnie podczas przechodzenia przez kolejne routery na trasie wartość parametru TTL jest każdorazowo zmniejszana o 1. Natomiast w momencie, gdy pole TTL ma wartość 0 – pakiet jest odrzucany przez router, oraz router ten wysyła komunikat ICMP „Time Exceeded”. Należy mieć też na uwadze, że gdy router został skonfigurowany tak aby nie zmniejszał parametru TTL nie będzie on widoczny w wynikach polecenia.

Przykład w systemie Windows

W pierwszej kolejności należy uruchomić wiersz poleceń. We wszystkich wersjach systemu Windows, można tego dokonać przy pomocy kombinacji klawiszy Windows + R, a następnie w okienku „Uruchamianie” należy wpisać „cmd” i nacisnąć klawisz Enter. 

W otwartym wierszu polecenia należy wpisać tracert oraz podać adres IP serwera:

C:\Users>tracert 8.8.8.8
 Tracing route to google-public-dns-a.google.com [8.8.8.8]
 over a maximum of 30 hops:
 1     2 ms     1 ms     1 ms  192.168.2.1
   2     1 ms     1 ms     1 ms  80.80.77.10
   3     9 ms     9 ms     8 ms  google.thinx.pl [212.91.0.250]
   4     9 ms    10 ms     9 ms  108.170.250.193
   5    10 ms    10 ms     9 ms  108.170.234.245
   6    10 ms     9 ms    10 ms  google-public-dns-a.google.com [8.8.8.8]
 Trace complete.

Przykład w systemie Linux

Po otwarciu konsoli poleceń, wpisać komendę traceroute oraz adres serwera do którego trasa ma zostać wyświetlona.

$ traceroute 8.8.8.8
 traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
  1  80.44.77.15 (80.44.77.15)  0.966 ms  1.124 ms  1.514 ms
  2  google.thinx.pl (212.91.0.250)  24.500 ms  7.479 ms  24.462 ms
  3  108.170.250.209 (108.170.250.209)  8.300 ms  8.013 ms 108.170.250.193 (108.170.250.193)  7.104 ms
  4  216.239.41.165 (216.239.41.165)  7.084 ms  7.198 ms 108.170.234.101 (108.170.234.101)  7.555 ms
  5  google-public-dns-a.google.com (8.8.8.8)  7.320 ms  7.623 ms  7.155 ms

Za pomocą narzędzia tracert/traceroute można określić, gdzie w sieci zatrzymał się pakiet. Brak odpowiedzi na zadany pakiet sygnalizowany znakiem gwiazdki „*” może sugerować na celową konfigurację urządzeń (na przykład ustawienia firewalla) bądź przeciążenie sieci lub routera.

W poniższym przykładzie, za pomocą bramy domyślnej ustalono, że nie istnieje prawidłowa trasa do hosta o adresie 172.16.175.99. Prawdopodobnie wystąpił problem z konfiguracją routera lub sieć o adresie 172.16.175.0 nie istnieje (nieprawidłowy adres IP).

C:\Users\[x]>tracert 172.16.175.99
 Tracing route to 172.16.175.99 over a maximum of 30 hops
 1     2 ms     2 ms     1 ms  192.168.2.1
   2     2 ms     1 ms     1 ms  80.10.77.25 [80.10.77.25]
   3     *        *        *     Request timed out.
   4     *        *        *     Request timed out.
   5     *        *        *     Request timed out.
   6     *        *        *     Request timed out.
   7     *        *        *     Request timed out.
   ...
 Trace complete.

Polecenie tracert/traceroute pomaga w rozwiązywaniu problemów w dużych sieciach, gdzie w celu dotarcia do danego punktu docelowego można użyć kilku tras.