In Informatica si definisce traceroute un’applicazione, scritta in qualunque linguaggio, che si occupa di ricavare il percorso seguito dai pacchetti sulle reti informatiche, ovvero l’indirizzo IP di ogni router attraversato per raggiungere il destinatario.
Il termine traceroute indica, oltre all’applicazione, anche il percorso restituito dall’applicazione stessa.
Questa applicazione sfrutta una particolare caratteristica del protocollo IP, ovvero il campo TTL (time to live) del messaggio. Questo campo specifica il numero degli apparati di rete che il pacchetto potrà attraversare prima di essere dichiarato scaduto.
Il funzionamento di questo campo è semplice: ogni router che riceve il pacchetto, prima di inviarlo nuovamente, diminuisce il campo di un’unità. Se si accorge che il campo ha assunto il valore 0, invia al mittente del pacchetto un messaggio di errore ICMP specificando l’indirizzo del router che l’ha generato.
Un’applicazione traceroute, quindi, invia un pacchetto al destinatario di cui si vuole ricavare il percorso di traceroute con il campo TTL impostato ad 1. Il primo router che lo riceverà, constatando che il campo TTL ha raggiunto lo 0, invierà un errore al mittente. L’applicazione memorizzerà l’indirizzo IP del primo router, quindi invierà un nuovo pacchetto con TTL impostato a 2. L’operazione verrà ripetuta finché il pacchetto non sarà arrivato al destinatario.
Alla fine l’applicazione avrà ottenuto la lista degli indirizzi IP dei router su cui hanno transitato i pacchetti.
Calcolando anche il tempo trascorso tra l’invio di un pacchetto e l’arrivo del corrispondente messaggio di errore è possibile anche verificare la velocità di risposta dei router.
Il primo indirizzo IP fornito è quello del nodo client, che invia il pacchetto di prova. Questo risulta utile ad esempio nelle connessioni ad un proxy server, per visualizzare il proprio IP.
1. Il principale problema del traceroute è che spesso i pacchetti possono seguire più di un percorso. In questo modo l’intera operazione perde di affidabilità, in quanto gli indirizzi IP ricavati si riferiscono a due (o più) percorsi differenti e non c’è modo di sapere in corrispondenza di quale router i percorsi si sono separati.
2. Se i pacchetti e i rispettivi messaggi di errore seguono percorsi differenti, il calcolo del tempo di risposta dei router non è più affidabile.
3. Poiché l’indirizzo IP restituito dai router, corrisponde a quello della sua interfaccia in ingresso, talvolta questo indirizzo non è quello effettivo su cui transita il pacchetto.
Applicazioni di traceroute
* Su Microsoft Windows, esiste il comando del prompt dei comandi tracert.
* Su Linux, esiste il comando della shell tracepath e il più avanzato programma traceroute.
* Su AS400, esiste il comando TRCTCPRTE
* Su Mac OS X 10.5 Leopard, esiste il comando TRACEROUTE
Nelle distribuzioni GNU/Linux (perlomeno in Ubuntu) Traceroute è già presente nei repository. Per installarlo, dunque, è sufficiente: 1 – da terminale digitare: “sudo apt-get install traceroute”; 2 – installarlo direttamente da synaptic;
una volta installato è sufficiente aprire un terminale e digitare “traceroute IP”, dove IP indica il numero ip da cercare o l’indirizzo internet.
Per avere altre opzioni digitare da terminale: “man traceroute”
Fonte Wikipedia.