traceroute é uma ferramenta de diagnóstico que rastreia a rota de um pacote através de uma rede de computadores que utiliza os protocolos IP e o ICMP, implementada pela primeira vez por Van Jacobson em 1988. Atualmente está disponível em diversos sistemas operacionais como Linux, FreeBSD, NetBSD, MacOS X e Windows.
Seu funcionamento está baseado no uso do campo Time to Live (TTL) do pacote IPv4 destinado a limitar o tempo de vida dele. Este valor é decrementado a cada vez que o pacote é encaminhado por um roteador. Ao atingir o valor zero o pacote é descartado e o originador é alertado por uma mensagem ICMP TIME_EXCEEDED. Através da manipulação do campo TTL de uma série de datagramas UDP é possível receber esta mensagem de cada um dos roteadores no caminho do pacote. Para o caso do IPv6 é utilizado o campo hop limit, o limite de saltos dos datagramas desta versão do protocolo. A implementação disponível no Microsoft Windows utiliza apenas pacotes ICMP.
As páginas de manual atribuem a autoria da ferramenta a Van Jacobson que fez a implementação segundo a sugestão de Steve Deering. Também destacam as colaborações de C. Philip Wood, Tim Seaver e Ken Adelman. Segundo Mike Muuss, autor da ferramenta ping, o traceroute foi implementado utilizando o suporte que ele mesmo codificou no kernel ao escrever o ping.
Comandos Unix | |
---|---|
Arquivos | |
Processos e tarefas | |
Ambiente e usuários | |
Processamento de texto | |
Shell | |
Redes e comunicação | |
Busca | |
Documentação | |
Miscelâneas | |
†Comandos geralmente implementados no interpretador. ‡Comando geralmente implementados, tanto como executáveis, como quanto no interpretador. |