# Traceroute

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.

## Como o traceroute funciona

Cada salto em uma rota de rede pode envolver diferentes dispositivos. Os mais comuns são Roteador, mas também podem incluir Switch (redes), Firewall e Proxy.
Por exemplo, se você está usando seu computador no Brasil para se conectar a um servidor em Nova York, ao executar o Traceroute, ele mostrará todo o caminho percorrido. Cada salto será contabilizado, junto com o tempo gasto em cada um, até chegar ao destino internacional.
Etapa 1 - Envio de Pacotes: O Traceroute envia pacotes ICMP Echo Request (ou UDP, em algumas versões) para o endereço IP de destino.
Etapa 2 - TTL (Time to Live): O primeiro pacote tem o valor TTL ajustado para 1. O TTL é um campo que indica o número máximo de saltos que o pacote pode realizar.
Etapa 3 - Primeiro Roteador: Quando o pacote atinge o primeiro roteador, ele diminui o valor do TTL em 1. Quando o TTL chega a 0, o roteador descarta o pacote e envia uma mensagem ICMP Time Exceeded de volta ao remetente.
Etapa 4 - Registro de Informações: O Traceroute registra o endereço IP do roteador que respondeu e o tempo que levou para receber essa resposta.
Etapa 5 - Incremento do TTL: O processo se repete, com o Traceroute enviando um novo pacote, mas agora com o TTL aumentado em 1. Isso continua até o pacote alcançar o destino final ou um limite máximo de saltos.
Etapa 6 - Destino Alcançado: Quando o pacote finalmente chega ao destino, o servidor responde com uma mensagem ICMP Echo Reply. O Traceroute registra essa resposta e exibe o caminho completo percorrido pelo pacote.
Etapa 7 - Exibição dos Resultados: Ao final do processo, o Traceroute apresenta uma lista de todos os roteadores intermediários e os tempos de resposta, permitindo que o usuário veja o trajeto e identifique possíveis pontos de latência ou problemas na conexão.

## Sintaxe do comando

No Windows:
No Linux ou FreeBSD:

## Alternativas ao traceroute

O Traceroute é uma ferramenta que, embora ainda útil, é considerada relativamente antiga em comparação com soluções mais modernas de diagnóstico de rede.
O PingPlotter é uma ferramenta que combina a funcionalidade de ping e traceroute, permitindo visualizar o desempenho da rede em tempo real. Ele apresenta os resultados em gráficos, o que facilita a identificação de problemas de latência e perda de pacotes ao longo do tempo, proporcionando uma visão mais clara e intuitiva do comportamento da rede em comparação com o formato de lista do traceroute.
O My Traceroute é uma ferramenta que combina as funções do traceroute e do ping, fornecendo informações detalhadas sobre cada salto em tempo real. Ele exibe não apenas o caminho dos pacotes, mas também estatísticas contínuas de perda de pacotes e tempos de resposta, permitindo monitorar a qualidade da conexão de forma mais dinâmica. Essa abordagem proporciona uma análise mais aprofundada e atualizada, tornando o WinMTR mais eficiente na identificação de problemas em comparação ao traceroute, que fornece dados estáticos em uma única execução.