O Traceroute é um instrumento de diagnóstico das redes, presente na maior parte dos sistemas de exploração, permitindo determinar o caminho seguido por um pacote. O comando Traceroute permite assim elaborar uma cartografia dos routers presentes entre uma máquina fonte e uma máquina alvo. O comando Traceroute difere de acordo com os sistemas de exploração.
traceroute nom.de.la.machine
tracert nom.de.la.machine
O comando traceroute fornece uma saída que descreve os nomes e endereços IP dos routers sucessivos, precedidos de um número de ordem e do tempo de resposta mínimo, médio e máximo :
Determinação do itinerário para pt.kioskea.net [163.5.255.85] com um máximo de 30 saltos: 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 pt.kioskea.net [163.5.255.85] Itinerário determinado.
O Traceroute baseia o seu funcionamento no TTL dos pacotes IP. Com efeito, cada pacote IP possui um campo duração de vida (TTL, Time To Live) reduzido a cada passagem de switch. Quando este campo chega a zero, switch, considerando que o pacote gira às voltas, destrói este pacote e envia uma notificação ICMP0 ao remetente.
Assim, o traceroute envia pacotes a uma porta UDP não privilegiado, considerada não utilizada (a porta 33434 por defeito) com um TTL que vale 1. O primeiro switch encontrado vai suprimir o pacote e devolver um pacote ICMP que dá nomeadamente o endereço IP switch bem como o tempo de propagação em anel. O Traceroute vai assim incrementar sequencialmente o campo duração de vida, de maneira a obter uma resposta de cada um dos routers do caminho, até obter uma resposta “porta ICMP não atingível” (“ICMP port unreachable”) por parte da máquina alvo.