Quando um site, servidor ou serviço online para de responder, não é sempre claro onde está o problema. Seu computador pode estar conectado à rede local, mas o destino continua inacessível. O problema pode estar no seu roteador doméstico, na rede do provedor de Internet, em uma rede remota ou no próprio servidor de destino.
O traceroute é uma ferramenta de diagnóstico de rede que ajuda a mostrar o caminho que os pacotes seguem desde o seu dispositivo até um destino. Ele lista roteadores intermediários, comumente chamados de saltos, e mede o tempo que as respostas levam a partir de cada um. Isso pode ajudar você a identificar onde o caminho muda, onde os atrasos começam ou onde as respostas param de aparecer.
O traceroute não mostra todos os detalhes de como o roteamento da Internet funciona, e um tempo esgotado não significa automaticamente que um roteador ou ligação esteja com problema. Muitos roteadores limitam ou filtram as respostas em que o traceroute depende. Ainda assim, quando você entende o que a saída pode e não pode lhe dizer, ela se torna um primeiro passo útil para solucionar problemas.
Este guia explica como funciona o traceroute, como executá-lo no Windows, macOS e Linux, e como interpretar os resultados comuns. Se você está aprendendo fundamentos de redes, também ajuda a entender o papel de um gateway padrão e como os intervalos de endereços IP são organizados sub-redes.
O que é Traceroute?
O traceroute é uma ferramenta de linha de comandos que tenta identificar os roteadores pelos quais um pacote passa ao seu caminho até o destino. No Windows, a ferramenta integrada chama-se tracert. No macOS e na maioria das distribuições Linux, ele é chamado de tracerouteOs nomes são diferentes, mas seu propósito principal é semelhante.
A ferramenta envia uma série de sondas com limites de saltos progressivamente crescentes. Um limite de salto informa ao pacote quantos roteadores ele pode atravessar antes de ser descartado. No IPv4, este campo é chamado de Tempo de Vida, ou TTL. No IPv6, é chamado de Limite de saltos.
Quando um roteador encaminha um pacote, ele reduz o TTL ou o Limite de Saltos. Quando o valor atinge zero, o roteador descarta o pacote e pode enviar uma resposta de volta para a origem. O Traceroute utiliza essas respostas para identificar os roteadores sucessivos. Após a ferramenta ter aprendido sobre o primeiro salto, envia outra sondagem com um limite maior, depois outra, continuando em direção ao destino.
O traceroute mede o tempo entre o envio de uma sonda e a recepção de uma resposta. Ele normalmente envia várias sondas para cada salto, por isso a saída muitas vezes contém três tempos de resposta. Esses números medem o tempo para que uma sonda e a resposta viajem entre seu dispositivo e o roteador que respondeu. Eles não medem apenas o tempo gasto no processamento do pacote dentro desse roteador.
O que Mostra um Traceroute?
Um resultado típico tem uma linha numerada para cada salto. O primeiro salto é normalmente o seu roteador local ou outro primeiro dispositivo na rede local. Salto posterior podem pertencer ao seu provedor de Internet, redes de transito, provedores de hospedagem ou à rede do destino.
Um exemplo simplificado pode parecer este:
rotas de rastreamento para example.com, 30 saltos máximo
1 192.168.1.1 2,1 ms 1,8 ms 2,0 ms
2 100.64.0.1 8,4 ms 8,1 ms 8,6 ms
3 203.0.113.10 13,2 ms 12,9 ms 13,5 ms
4 * * *
5 198.51.100.20 25,6 ms 25,1 ms 26,0 ms
A primeira coluna identifica o número do salto. O próximo valor é o endereço ou nome do roteador que respondeu. Os valores restantes são os tempos de resposta para os probes enviados nesse salto. Neste exemplo, o salto 4 não respondeu aos probes, mas o salto 5 respondeu.
Um salto de resposta é evidência de que um probe recebeu uma resposta daquele ponto. Não prova que todas as outras partes da rota estão saudáveis. Da mesma forma, um salto que não responde não prova que o roteador está desligado. O dispositivo pode estar configurado para encaminhar tráfego enquanto ignora ou limita os probes diagnósticos.
O traceroute também pode mostrar diferentes caminhos em diferentes momentos. O encaminhamento na internet muda conforme as redes ajustam rotas, equilibram tráfego, lidam com interrupções ou aplicam políticas. Um caminho observado em uma traçagem é uma fotografia, não um mapa permanente.
Como executar Traceroute no Windows
O Windows inclui tracertAbra o Prompt de Comando ou PowerShell e insira um nome de host ou endereço IP:
tracert example.com
O Windows resolve o nome de host para um endereço IP e depois exibe os saltos que consegue observar. Você pode usar -d para prevenir tracert a partir da resolução de endereços de roteadores em nomes:
tracert -d example.com
Usando -d pode fazer com que os resultados apareçam mais rapidamente, pois o Windows ignora as pesquisas de DNS reverso para os endereços intermediários. Isso é útil quando você se importa com o caminho e o tempo, em vez dos nomes associados a cada roteador.
Você pode limitar o número máximo de saltos com -h e defina o tempo de espera para cada resposta com -wPor exemplo:
tracert -d -h 20 -w 2000 example.com
Este comando ignora as pesquisas de nomes, para após um máximo de 20 saltos e espera até 2000 milissegundos por resposta a cada sonda. Se o destino estiver distante ou o caminho for lento, um limite baixo de saltos pode interromper o rastreamento antes que ele alcance o destino.
Para testar um endereço IP específico em vez de um nome de host, execute:
tracert -d 203.0.113.25
Ao comparar resultados, teste o mesmo destino de forma consistente. Um trace para um nome de domínio e um trace para um endereço IP específico podem seguir caminhos diferentes se o domínio resolver para servidores diferentes.
Como executar Traceroute no macOS
No macOS, abra o Terminal e execute:
traceroute example.com
Para exibir endereços numéricos sem tentar resolver nomes, use:
traceroute -n example.com
Você pode limitar o número máximo de saltos com -m e ajustar o tempo de espera com -wPor exemplo:
traceroute -n -m 20 -w 2 example.com
Isso pede saída numérica, limita o rastro a 20 saltos e espera até dois segundos para uma resposta em cada salto. As opções exatas disponíveis podem variar ligeiramente entre implementações, por isso verifique o manual local se uma opção de comando não for reconhecida:
homem traceroute
O traceroute pode demorar algum tempo para terminar, pois envia várias sondas em cada salto e espera por respostas. Se parecer que há uma pausa em uma linha, pode estar esperando respostas de roteadores que não respondem a essas sondas.
Como executar Traceroute no Linux
Muitas distribuições Linux incluem traceroute, mas alguns podem exigir que você o instale primeiro. Um teste básico é:
traceroute example.com
Para evitar pesquisas DNS reversas e exibir apenas endereços numéricos, use:
traceroute -n example.com
Você também pode definir um número máximo de saltos e tempo de espera para resposta:
traceroute -n -m 20 -w 2 example.com
No Linux, as opções de comando disponíveis dependem da implementação do traceroute instalada. Se o comando estiver ausente, use o gerenciador de pacotes da sua distribuição para instalar o pacote apropriado, ou use uma alternativa disponível, como tracepath.
Para destinos IPv6, muitos sistemas Linux suportam:
traceroute -6 example.com
Se o domínio tiver registos tanto de IPv4 como de IPv6, a ferramenta pode seleccionar uma família de endereços por defeito. Para comparar os caminhos, execute traçados separados de IPv4 e IPv6, quando suportado. Isto pode ajudar a identificar se um problema de conectividade afecta uma família de endereços mas não a outra.
Como Ler Cada Salto
Comece verificando o primeiro salto. Em uma rede doméstica, geralmente é o roteador local. Se o primeiro salto responder rapidamente, seu dispositivo pode pelo menos alcançar um roteador na rede local. Se ele não responder, isso sozinho não comprova uma falha local, pois o roteador pode filtrar respostas de diagnóstico. Verifique se outros dispositivos locais e serviços da Internet funcionam antes de tirar uma conclusão.
Em seguida, compare os tempos de resposta à medida que a rota avança. Um aumento súbito e constante que continue nas etapas seguintes pode indicar uma mudança no caminho ou um ponto onde o atraso da rede começa. No entanto, um tempo de resposta elevado em um roteador seguido por tempos mais baixos em roteadores posteriores muitas vezes reflete como esse roteador lida com o tráfego de diagnóstico, e não necessariamente um atraso que afeta o tráfego encaminhado.
Procure o último salto que responda, mas trate-o como uma pista, e não como a localização definitiva da falha. O próximo roteador pode estar filtrando os probes, o caminho de retorno pode ser diferente, ou a rede de destino pode bloquear o tipo de resposta que o traceroute espera.
Finalmente, compare várias execuções e, se possível, teste um segundo destino na mesma serviço ou rede. Um único traçado pode ser afectado por congestionamento temporário ou filtragem. Padrões em testes repetidos são mais informativos do que uma saída isolada.
O que significa um asterisco?
Um asterisco (*) significa que o traceroute não recebeu uma resposta para essa sondagem no período de espera. Um roteador pode ainda ter encaminhado a sondagem em direção ao destino. Pode simplesmente ter se recusado a enviar uma resposta diagnóstica.
Roteadores e firewalls muitas vezes limitam as mensagens do Protocolo de Mensagem de Controle da Internet (ICMP) ou outras respostas diagnósticas para proteger o desempenho e reduzir o tráfego indesejado. Algumas redes permitem o tráfego normal das aplicações enquanto filtram os sondas de traceroute. Como resultado, uma traçagem pode mostrar um ou mais asteriscos e depois continuar com saltos que respondem mais adiante no caminho.
Se cada salto após um determinado ponto mostra asteriscos, o caminho pode ser filtrado nesse ponto, o destino pode ser inacessível ou o tráfego de retorno pode estar bloqueado. Para distinguir esses casos, teste o serviço real usando o aplicativo correspondente, como um navegador web ou cliente SSH, e compare os rastreamentos com outros destinos.
Tempo de resposta e latência
Os valores de tempo do traceroute mostram quanto tempo levou para um probe atingir um salto com resposta e para a resposta retornar. Eles incluem atrasos na rede em ambos os sentidos e podem ser afetados por congestionamento, fila e política de resposta do roteador.
Um valor alto em um salto pode ser enganoso. Os roteadores priorizam o encaminhamento de tráfego de transito em vez de responder a pacotes de diagnóstico endereçados a si mesmos. Um roteador pode demorar muito para responder ao traceroute enquanto encaminha o tráfego comum rapidamente. Se os saltos seguintes mostrarem tempos de resposta mais baixos, esse valor alto é menos provável que represente um atraso persistente no caminho dos dados.
Um padrão mais útil é um aumento de atraso que começa em um salto e permanece visível em saltos posteriores e no destino, em múltiplos testes. Mesmo assim, o traceroute sozinho não pode provar a causa exata. Ele pode indicar onde investigar mais, como uma troca de provedor, um link congestionado ou uma segmento de rede distante.
Padrões Comuns de Traceroute
Se o primeiro salto responde, mas os saltos seguintes não, a rede local pode estar a funcionar enquanto uma rede posterior filtra o tráfego de diagnóstico. Verifique se o serviço de destino é alcançável antes de assumir que a ligação está interrompida.
Se o rastreio atinge o destino, mas a aplicação ainda falha, o caminho de rede pode estar funcionando, enquanto o serviço tem outro problema. O servidor pode estar rejeitando conexões, a aplicação pode estar indisponível ou um firewall pode bloquear a porta específica.
Se o rasto para no mesmo ponto todas as vezes e o destino também é inacessível, a última rede que responde pode ajudar a delimitar onde pedir suporte. Não identifica necessariamente o dispositivo responsável, pois o filtragem e os caminhos de retorno assimétricos podem tornar o ponto aparente de paragem enganoso.
Se o IPv4 funciona, mas o IPv6 não, ou vice-versa, execute rastreamentos separados para cada família de endereços. Os dois caminhos podem usar provedores, roteadores, políticas de firewall ou servidores de destino diferentes. Compará-los pode revelar se o problema é específico de um lado da rede.
Traceroute e Tracert Não São Idênticos
Os comandos tracert e traceroute servem para um propósito semelhante, mas seus métodos de sondagem e opções podem diferir por sistema operacional e implementação. Windows tracert usa frequentemente sondagens ICMP Echo. Implementações similares ao Unix podem usar UDP por padrão, com algumas a suportar os modos de sondagem ICMP ou TCP.
Isso é importante porque um firewall pode permitir um tipo de varredura e bloquear outro. Portanto, dois ferramentas podem produzir saídas diferentes mesmo quando executadas a partir do mesmo computador para o mesmo destino.
Alguns implementações de traceroute permitem que você selecione o método de sonda. Por exemplo, versões do Linux podem suportar opções para sondas UDP, ICMP ou TCP. O rastreamento baseado em TCP pode ser útil quando as sondas normais são filtradas, mas um serviço TCP específico é alcançável. A sintaxe das opções varia, então consulte o manual local antes de confiar em um flag específico.
Ao compartilhar os resultados com um administrador de rede ou provedor, inclua o sistema operacional, o comando, as opções, o destino e o horário aproximado do teste. Esse contexto ajuda-os a interpretar as diferenças entre os rastreamentos.
Traceroute vs Ping
Testes de ping verificam se um destino responde a um determinado tipo de sondagem de rede e medem o tempo de ida e volta. É útil para verificar a acessibilidade básica, mas não mostra o caminho intermediário.
O traceroute tenta revelar a sequência de roteadores que respondem em direção a um destino. Pode ajudar a identificar onde as respostas param ou onde começa um padrão de atraso, mas é mais sensível à filtragem e às políticas de resposta dos roteadores.
Essas ferramentas respondem a perguntas diferentes. Use ping para testar se um destino responde. Use traceroute para inspecionar o caminho até ele. Nenhum desses instrumentos garante sozinho que um site ou aplicativo esteja saudável, pois problemas específicos de aplicativos podem ocorrer mesmo quando as sondas de rede básicas forem bem-sucedidas.
Um fluxo de trabalho prático para resolução de problemas
Comece confirmando o nome e endereço do destino. Se estiver usando um nome de host, verifique se ele é resolvido corretamente. Em seguida, execute traceroute e anote o tempo, família de endereços, opções do comando e destino.
Teste o mesmo destino mais de uma vez. Se a saída mudar significativamente, o problema pode ser intermitente ou a rota pode ter mudado. Se o rastreamento for estável, mas o aplicativo estiver com falha, verifique se o serviço está ouvindo, se um firewall bloqueia sua porta e se o servidor retorna um erro.
Compare com outro destino hospedado pelo mesmo provedor ou na mesma região. Se vários destinos apresentarem um problema semelhante a partir do mesmo ponto, isso indica de forma mais forte que o segmento de rede afetado pode merecer atenção.
Se você estiver relatando o problema a um provedor de Internet ou empresa de hospedagem, forneça a saída bruta em vez de apenas dizer "traceroute falhou". Inclua o destino, horário, sistema operacional e se o serviço de destino está inacessível. Esses detalhes tornam o relato mais fácil de investigar.
Limitações do Traceroute
O traceroute não mostra todos os roteadores na Internet. Alguns redes ocultam ou filtram suas respostas, e alguns caminhos usam tecnologias que tornam as informações de salto incompletas. O balanceamento de carga também pode enviar diferentes sondas por caminhos diferentes, então linhas adjacentes nem sempre representam uma rota estável de ponta a ponta.
Os tempos de resposta não são medições diretas de quão rapidamente o roteador encaminha o tráfego normal. Eles medem o tempo para o teste e a resposta, e os roteadores podem tratar esses pacotes de diagnóstico de forma diferente do tráfego regular das aplicações.
O traceroute também não comprova quem possui um endereço de roteador, identifica a causa exata da perda de pacotes ou confirma que uma rota é autorizada. Os dados de encaminhamento e registro públicos exigem verificações separadas. Para uma revisão mais abrangente de um recurso IPv4 ou IPv6 público, use o Verificador de preparação de recursos de IP.
Perguntas frequentes
O traceroute é seguro de usar?
Traceroute é uma ferramenta de diagnóstico padrão que envia sondas de rede para um destino. Executar alguns testes para resolução de problemas é normal. Evite gerar tráfego excessivo ou escanear sistemas que você não administra a uma taxa elevada.
Por que o traceroute mostra um caminho diferente a cada vez?
Redes podem alterar rotas, usar balanceamento de carga ou direcionar o tráfego através de diferentes provedores. O tráfego de sondagem também pode ser tratado de forma diferente do tráfego de aplicação normal. Pequenas diferenças no caminho não indicam automaticamente uma falha.
Um asterisco significa que o roteador está fora do ar?
Não. Significa que o traceroute não recebeu uma resposta àquela sondagem dentro do tempo limite. O roteador pode ainda encaminhar tráfego enquanto filtra ou limita respostas de diagnóstico.
Por que o traceroute para antes de chegar a um site?
A rede de destino ou um firewall intermediário pode bloquear o tipo de sondagem. O site ainda pode ser acessível através do tráfego HTTPS normal. Teste o serviço em si antes de concluir que a rota está inacessível.
O traceroute pode identificar onde ocorre a perda de pacotes?
Pode ajudar a identificar onde as respostas param, mas nem sempre pode provar onde o tráfego da aplicação está a ser perdido. Compare múltiplas execuções, saltos posteriores e o serviço real. Ferramentas como mtr pode fornecer medições repetidas, mas seu resultado também precisa ser interpretado com cuidado.
Posso executar traceroute para um endereço IPv6?
Sim. Windows, macOS e Linux suportam o rastreio de rotas IPv6, embora os nomes dos comandos e as opções sejam diferentes. No Linux, traceroute -6 é comumente suportado. No Windows, tracert can trace IPv6 when given an IPv6 destination.
O traceroute ajuda a ver quais roteadores respondem enquanto o tráfego viaja do seu dispositivo até um destino. O primeiro salto é geralmente o gateway local, e os saltos posteriores podem pertencer ao provedor de Internet e outras redes antes de atingir o destino.
Utilizar tracert em Windows e traceroute em macOS ou Linux. Verifique o primeiro salto, compare os padrões de resposta nos saltos posteriores e repita o teste quando os resultados parecerem incomuns. Asteriscos e tempos de resposta elevados isolados são comuns e não provam automaticamente que uma rede esteja com problema.
As conclusões mais úteis surgem da combinação de traceroute com testes de aplicação, verificações de DNS, medições repetidas e relatórios de outros utilizadores ou redes. Trate a saída como evidência que ajuda a orientar a investigação, em vez de um diagnóstico completo por si só.
Para compreender a parte da rede local do caminho, continue com nosso guia para portas de entrada padrão. Para verificações de endereço público e roteamento, consulte o Verificador de preparação de recursos de IP.