Traceroute è uno strumento di diagnostica delle reti, presente nella maggioranza dei sistemi operativi, che permette di determinare il percorso di un pacchetto dati. Il comando traceroute permette di compilare una cartografia dei router presenti tra un terminale sorgente e un terminale scelto. Il comando traceroute si differenzia secondo i sistemi operativi.
Sui sistemi UNIX/Linux, il comando traceroute è il seguente:
traceroute nome.del.terminale
.
Sui sistemi Windows, il comando traceroute è il seguente:
tracert nome.del.terminale
.
Il comando traceroute fornisce un risultato che descrive i nomi e gli indirizzi IP dei router successivi, preceduti da un numero d'ordine e di tempo di risposta minimo, medio e massimo:
Determinazione dell'itinerario verso it.kioskea.net [163.5.255.85]
con un minimo di 30 salti:
1 33 ms 32 ms 33 ms raspail-2-81-57-234-254.fbx.proxad.net [81.57.234.254]
2 33 ms 33 ms 33 ms vlq-6k-2-a5.routers.proxad.net [213.228.4.254]
3 33 ms 33 ms 33 ms vlq-6k-2-v802.intf.routers.proxad.net [212.27.50.46]
4 33 ms 33 ms 33 ms th1-6k-2-v806.intf.routers.proxad.net [212.27.50.41]
5 32 ms 34 ms 34 ms cbv-6k-2-v802.intf.routers.proxad.net [212.27.50.34]
6 34 ms 32 ms 33 ms ldc-6k-1-a0.routers.proxad.net [213.228.15.67]
7 35 ms 35 ms 35 ms cogent.FreeIX.net [213.228.3.187]
8 36 ms 36 ms 35 ms NeufTelecom.demarc.cogentco.com [130.117.16.22]
9 36 ms 36 ms 36 ms V3994.c1cbv.gaoland.net [212.94.162.209]
10 34 ms 34 ms 35 ms V4080.core3.cbv.gaoland.net [212.94.161.129]
11 36 ms 35 ms 37 ms 212.94.164.210
12 36 ms 36 ms 36 ms nestor.kioskea.org [163.5.255.85]
Itinerario determinato.
Il funzionamento di Traceroute si basa sul campo TTL dei pacchetti IP. In effetti ogni pacchetto IP possiede un campo durata di vita (TTL, Time To Live) diminuito ad ogni passaggio da un router. Quando questo campo arriva a zero, il router, vedendo che il pacchetto gira in loop, lo distrugge e invia una notifica ICMP al mittente.
Così, traceroute invia dei pacchetti ad un porta UDP non privilegiata, considerata non utilizzata (la porta 33434 di default) con un TTL di valore 1. Il primo router riscontrato eliminerà il pacchetto e rinvierà un pacchetto ICMP dando soprattutto l'indirizzo IP del router nonché il tempo di propagazione in loop. Traceroute aumenterà in sequenza il campo durata di vita, in modo da ottenere una risposta da ogni router sul percorso, fino ad ottenere una risposta «porta ICMP non raggiungibile» («ICMP port unreachable») da parte del terminale scelto.
Foto: © Pixabay.