Traceroute é um comando para obter o diagnóstico de redes, presente na maior parte dos sistemas operacionais, permitindo determinar o caminho seguido por um pacote de dados. O comando Traceroute permite assim elaborar uma cartografia dos roteadores presentes entre uma máquina fonte e uma máquina alvo. O comando Traceroute se apresenta de acordo com os sistemas operacionais.
Nos os sistemas UNIX/Linux, o comando traceroute é o seguinte:
traceroute nome.da.máquina
Nos sistemas Windows, o comando Traceroute é o seguinte:
tracert nome.da.máquina
=Como funciona o comando Traceroute==
O comando Traceroute fornece uma saída que descreve os nomes e os endereços IP dos sucessivos roteadores, precedidos por um número de ordem e do tempo de resposta mínimo, médio e máximo:
Determinação do itinerário para br.ccm.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 (Time To Live - Tempo de vida) dos pacotes IP. Com efeito, cada pacote IP possui um campo duração de vida reduzido a cada passagem de um roteador. Quando este campo chega a zero, o roteador, considerando que este pacote anda em laços, destrói este pacote e reenvia uma notificação ICMP ao remetente.
Assim, o Traceroute envia pacotes a uma porta UDP - (User Datagram Protocol) que é um protocolo não orientado para a conexão da camada de transporte do modelo TCP/IP, não privilegiada, conhecida como não utilizada (a porta 33434 por padrão) com um TTL que vale 1. O primeiro roteador encontrado vai suprimir o pacote e devolver um pacote ICMP que informa o endereço IP do roteador bem como o tempo de propagação do laço. O Traceroute vai assim incrementar sequencialmente o campo de duração de vida, de maneira a obter uma resposta de cada um dos roteadores do caminho, até obter uma resposta 'porta ICMP não atingível' (ICMP port unreachable) por parte da máquina alvo.