Traceroute funciona aproveitando o campo TTL (Time-to-Live) em pacotes IP e mensagens ICMP (Internet Control Message Protocol) para mapear o caminho da rede de uma origem a um destino. Quando o traceroute é executado com um endereço IP ou nome de host de destino, ele começa enviando pacotes ICMP Echo Request para o destino com um TTL inicial de 1. O TTL especifica o número máximo de saltos (travessias de roteador) que um pacote pode fazer antes de ser descartado. O primeiro pacote chega ao roteador mais próximo da origem e é descartado porque o TTL chega a zero, solicitando que o roteador envie uma mensagem ICMP Time Exceeded de volta ao remetente. O Traceroute então envia pacotes subsequentes com valores TTL incrementados (2, 3, etc.), permitindo que eles alcancem roteadores sucessivos ao longo do caminho até o destino. Cada roteador ao longo do caminho diminui o TTL e encaminha o pacote, até chegar ao destino. Ao registrar os endereços IP dos roteadores que respondem com mensagens de Tempo Excedido, o traceroute mapeia o caminho completo da rede da origem ao destino, revelando a sequência de roteadores percorridos.
Traceroute funciona passo a passo da seguinte maneira: Primeiro, o usuário inicia o comando traceroute com um endereço IP de destino ou nome de host especificado. O Traceroute começa enviando um pacote ICMP Echo Request com um TTL de 1 para o destino. O pacote viaja pela rede e chega ao primeiro roteador. O TTL expira neste roteador, fazendo com que ele descarte o pacote e envie uma mensagem ICMP Time Exceeded de volta à origem. Traceroute registra o endereço IP deste primeiro roteador e incrementa o valor TTL nos pacotes subsequentes. Ele envia o próximo pacote ICMP Echo Request com um TTL de 2, o que permite alcançar o segundo roteador ao longo do caminho. Este processo continua, com o traceroute aumentando o valor TTL de cada pacote até chegar ao destino. Ao analisar a série de mensagens ICMP Time Exceeded recebidas e os endereços IP correspondentes, o traceroute constrói uma visão passo a passo do caminho de rede percorrido pelos pacotes da origem ao destino.
Traceroute encontra um caminho para um destino enviando vários pacotes ICMP Echo Request com valores TTL crescentes da origem. Cada pacote viaja pela infraestrutura de rede até o destino, alcançando roteadores sucessivos ao longo do caminho. Quando o TTL de um pacote expira em um roteador, o roteador descarta o pacote e envia de volta uma mensagem ICMP Time Exceeded para a origem. Traceroute captura essas mensagens e registra os endereços IP dos roteadores ao longo do caminho, rastreando efetivamente a rota da origem ao destino. Ao coletar e analisar a sequência de endereços IP do roteador retornados pelas mensagens ICMP Time Exceeded, o traceroute identifica o caminho de rede percorrido pelos pacotes e fornece um mapa detalhado da infraestrutura de roteamento entre os hosts de origem e destino.
Traceroute determina o próximo salto ao longo do caminho da rede analisando os endereços IP retornados nas mensagens ICMP Time Exceeded recebidas dos roteadores. Quando um pacote traceroute atinge um roteador e o TTL expira, o roteador envia uma mensagem ICMP Time Exceeded de volta à origem com seu próprio endereço IP. Traceroute usa esse endereço IP para identificar o roteador específico que manipulou o pacote e atuou como o próximo salto em direção ao destino. Ao incrementar o valor TTL e enviar pacotes subsequentes, o traceroute continua a identificar roteadores sucessivos ao longo do caminho até chegar ao destino final. Este processo permite que o traceroute construa uma lista sequencial de endereços IP do roteador, mostrando cada salto realizado pelos pacotes da origem ao destino e fornecendo informações valiosas sobre a infraestrutura de roteamento da rede e a conectividade entre hosts.