15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar
09.10.2024

Como Executar um Traceroute no Windows, Mac e Linux

Um traceroute é um utilitário de diagnóstico de rede que mapeia o caminho exato que os pacotes IP percorrem desde a sua máquina até um host de destino, registando cada router intermédio (hop) ao longo do caminho e medindo o tempo de ida e volta (RTT) para cada um. É a ferramenta mais eficaz para identificar se um pico de latência, perda de pacotes ou anomalia de roteamento tem origem na sua rede local, na infraestrutura do seu ISP, numa backbone de trânsito ou no próprio servidor de destino.

Quando executa um traceroute, o seu sistema envia uma série de pacotes de sonda com valores de TTL (Time To Live) incrementalmente crescentes. Cada router que decrementa o TTL para zero devolve uma mensagem ICMP “Time Exceeded”, revelando a sua identidade e tempo de resposta. Este mecanismo é o que torna o traceroute fundamentalmente diferente de um simples `ping` — expõe a topologia de roteamento completa, não apenas a acessibilidade de ponta a ponta.

Como o Traceroute Funciona Internamente

Compreender a mecânica subjacente evita a interpretação incorreta dos resultados — um erro que mesmo administradores experientes cometem.

  • Windows (`tracert`) envia pacotes ICMP Echo Request por defeito.
  • Linux e macOS (`traceroute`) enviam datagramas UDP para portas de numeração elevada (33434+) por defeito, embora isto seja configurável.
  • Cada sonda é enviada três vezes por hop, produzindo três medições de RTT por linha.
  • Um router que limita a taxa ou descarta ICMP/UDP mostrará asteriscos (`* * *`), mas isso não significa necessariamente que o caminho além dele está interrompido.

Esta diferença de comportamento entre sistemas operativos é crítica: um hop que parece não responder no Linux pode responder normalmente no Windows, simplesmente porque a ACL do router bloqueia UDP mas permite ICMP.

Como Executar um Traceroute no Windows

Passo 1: Abrir a Linha de Comandos

Prima `Win + R`, escreva `cmd` e prima Enter. Em alternativa, procure Linha de Comandos no menu Iniciar. Em ambientes onde o ICMP está restrito, considere executar como Administrador.

Passo 2: Executar o Comando

“`

tracert example.com

“`

Substitua `example.com` pelo nome de domínio ou endereço IP de destino. O Windows resolve o hostname para um IP antes de enviar a primeira sonda.

Passo 3: Ler o Resultado

“`

Tracing route to example.com [93.184.216.34] over a maximum of 30 hops:

1 <1 ms <1 ms <1 ms 192.168.0.1

2 10 ms 11 ms 10 ms 10.0.0.1

3 15 ms 16 ms 15 ms isp.gateway.net [203.0.113.1]

4 * * * Request timed out.

5 22 ms 21 ms 23 ms core1.backbone.net [198.51.100.5]

“`

Opções Principais do `tracert` no Windows

FlagFunção
`-d`Ignora pesquisas de DNS inverso, acelera significativamente o resultado
`-h <max_hops>`Define o número máximo de hops (padrão: 30)
`-w <timeout>`Define o tempo de espera em milissegundos por sonda (padrão: 4000 ms)
`-4`Força IPv4
`-6`Força IPv6

Exemplo com opções:

“`

tracert -d -h 20 -w 2000 example.com

“`

Dica profissional: No Windows, `tracert -d` é a forma mais rápida de obter resultados quando apenas se preocupa com o roteamento ao nível do IP e não com hostnames. As pesquisas de DNS inverso podem adicionar vários segundos por hop em redes congestionadas.

Como Executar um Traceroute no macOS

Passo 1: Abrir o Terminal

Prima `Command + Space`, escreva Terminal e prima Enter. Ou navegue até Aplicações > Utilitários > Terminal.

Passo 2: Executar o Comando

“`

traceroute example.com

“`

O macOS inclui `traceroute` pré-instalado como parte do seu kit de ferramentas de rede BSD. Não é necessária instalação adicional.

Passo 3: Ler o Resultado

“`

traceroute to example.com (93.184.216.34), 64 hops max, 52 byte packets

1 192.168.0.1 (192.168.0.1) 1.206 ms 0.930 ms 0.799 ms

2 10.0.0.1 (10.0.0.1) 10.123 ms 10.456 ms 10.678 ms

3 isp.gateway.net (203.0.113.1) 15.789 ms 15.012 ms 15.234 ms

“`

Note que o macOS tem por defeito um máximo de 64 hops em comparação com os 30 do Windows — relevante ao rastrear caminhos para destinos de rede geograficamente distantes ou complexos.

Opções Principais do `traceroute` no macOS

FlagFunção
`-n`Suprime a resolução de hostnames, mostra apenas IPs brutos
`-q <nqueries>`Altera o número de sondas por hop (padrão: 3)
`-m <max_ttl>`Define o TTL máximo / contagem de hops
`-w <waittime>`Tempo limite em segundos por sonda
`-I`Usa ICMP Echo em vez de UDP (útil quando UDP está bloqueado)
`-T`Usa sondas TCP SYN (requer root; contorna muitas firewalls)

Exemplo — modo ICMP para contornar filtragem UDP:

“`

sudo traceroute -I example.com

“`

Exemplo — modo TCP SYN na porta 80 (mais compatível com firewalls):

“`

sudo traceroute -T -p 80 example.com

“`

Como Executar um Traceroute no Linux

Passo 1: Abrir o Terminal

Prima `Ctrl + Alt + T` ou localize o terminal no seu lançador de aplicações.

Passo 2: Instalar o `traceroute` se Necessário

Em muitas distribuições Linux mínimas ou de grau servidor, o `traceroute` não está instalado por defeito.

Debian / Ubuntu:

“`

sudo apt-get install traceroute

“`

CentOS / RHEL / AlmaLinux / Rocky Linux:

“`

sudo yum install traceroute

“`

Fedora:

“`

sudo dnf install traceroute

“`

Arch Linux:

“`

sudo pacman -S traceroute

“`

Passo 3: Executar o Comando

“`

traceroute example.com

“`

Passo 4: Ler o Resultado

“`

traceroute to example.com (93.184.216.34), 30 hops max, 60 byte packets

1 192.168.0.1 (192.168.0.1) 0.728 ms 0.457 ms 0.373 ms

2 10.0.0.1 (10.0.0.1) 9.862 ms 9.946 ms 10.123 ms

3 isp.gateway.net (203.0.113.1) 14.987 ms 14.123 ms 15.456 ms

“`

Opções Principais do `traceroute` no Linux

FlagFunção
`-n`Desativa a resolução de DNS inverso
`-I`Envia sondas ICMP Echo (requer root)
`-T`Envia sondas TCP SYN (requer root)
`-U`Envia sondas UDP (comportamento padrão)
`-p <port>`Especifica a porta de destino
`-m <max_ttl>`Número máximo de hops
`-q <nqueries>`Número de sondas por hop
`-A`Imprime números AS (Sistema Autónomo) junto a cada hop

O flag `-A` é particularmente poderoso para diagnosticar problemas de roteamento inter-AS — mostra qual ISP ou operador de rede é proprietário de cada hop, permitindo identificar exatamente onde uma transferência entre operadoras está a causar latência.

“`

traceroute -A example.com

“`

`mtr` — A Alternativa Superior no Linux

Para diagnósticos contínuos ou interativos, o `mtr` (Matt’s Traceroute) combina `ping` e `traceroute` numa apresentação em atualização contínua. É a ferramenta preferida pelos engenheiros de rede para análise de perda de pacotes em tempo real.

“`

sudo apt-get install mtr

mtr example.com

“`

O `mtr` acumula estatísticas ao longo do tempo, tornando visível a perda de pacotes intermitente — algo que um `traceroute` de passagem única irá perder completamente.

Comparação Entre Plataformas: tracert vs. traceroute

FuncionalidadeWindows (`tracert`)macOS (`traceroute`)Linux (`traceroute`)
Protocolo de sonda padrãoICMP Echo RequestUDPUDP
Máximo de hops padrão306430
Sondas padrão por hop333
Tamanho do pacote (padrão)40 bytes52 bytes60 bytes
Modo ICMPPadrãoFlag `-I` (root)Flag `-I` (root)
Modo TCP SYNNão disponível nativamenteFlag `-T` (root)Flag `-T` (root)
Pesquisa de número ASNão disponívelNão disponívelFlag `-A`
Suporte IPv6Flag `-6`Comando `traceroute6`Flag `-6`
Integrado no SOSimSimFrequentemente requer instalação

Compreender o Resultado do Traceroute: Uma Análise Técnica

Número do Hop

Cada linha representa um router no caminho. O hop 1 é quase sempre o seu gateway padrão (router doméstico ou switch LAN). O hop 2 é tipicamente o primeiro ponto de agregação do seu ISP.

Tempos de Resposta (RTT)

São apresentados três valores de RTT por hop. Valores saudáveis geralmente seguem um padrão de aumento gradual à medida que os hops acumulam distância geográfica. Um salto súbito de 50+ ms num hop específico que persiste em todos os hops subsequentes indica um verdadeiro bottleneck nesse nó.

Interpretar `* * *` (Asteriscos)

Os asteriscos significam que a sonda expirou — o router não devolveu uma resposta ICMP dentro da janela de espera. Isto não é automaticamente um problema. Muitos routers empresariais e nós de backbone desprioritizam ou descartam silenciosamente pacotes de sonda ICMP/UDP por razões de segurança, continuando a encaminhar tráfego normalmente. Se os hops após os asteriscos mostrarem RTTs normais, o caminho está intacto.

Alta Latência num Único Hop

Se o hop 7 mostrar 200 ms mas o hop 8 mostrar 25 ms, a leitura de 200 ms é quase certamente limitação de taxa ICMP no router do hop 7 — não um verdadeiro bottleneck. O router está a processar a sonda com baixa prioridade enquanto encaminha o tráfego real à velocidade máxima. Avalie sempre as tendências de latência ao longo de todo o caminho, não hops individuais de forma isolada.

Roteamento Assimétrico

O traceroute apenas mapeia o caminho de ida. Os pacotes de retorno podem seguir um caminho completamente diferente. Isto significa que um pico de latência que observa pode ter origem no caminho de retorno, não no caminho de ida mostrado. São necessárias ferramentas como `traceroute` em ambas as direções (da origem e do destino) para visibilidade completa.

Loops de Roteamento

Se o mesmo endereço IP aparecer em múltiplos hops consecutivos, existe um loop de roteamento. Os pacotes estão a ser encaminhados entre dois routers indefinidamente até o TTL expirar. Isto é uma configuração incorreta e causará falha completa de conectividade para esse destino.

Cenários Comuns de Traceroute e o Que Significam

Cenário 1: Alta latência a partir do hop 2

O primeiro ponto de agregação do seu ISP está congestionado. Isto está fora do seu controlo. Documente o resultado com marcas de tempo e contacte o seu ISP com evidências.

Cenário 2: Todos os hops após o hop 5 mostram `* * *` mas o destino responde ao ping

Os routers upstream do destino bloqueiam sondas ICMP. Mude para o modo TCP SYN (`-T -p 443`) para rastrear através de firewalls.

Cenário 3: Picos de latência num hop localizado num país inesperado

O seu tráfego está a ser roteado internacionalmente antes de chegar a um destino local — uma anomalia de roteamento BGP. Isto é comum com anycast mal configurado ou ISPs com peering deficiente.

Cenário 4: O traceroute completa mas o website continua lento

O bottleneck pode ser do lado do servidor: CPU sobrecarregado, resposta lenta da aplicação ou latência da base de dados. O traceroute apenas mede o desempenho ao nível da rede. Se estiver a alojar num VPS e experienciar isto, investigue a utilização de recursos do servidor com `top`, `htop` ou `vmstat`.

Cenário 5: O traceroute nunca completa (para num hop específico indefinidamente)

Uma firewall está a descartar as suas sondas e o destino é inacessível. Confirme com `ping` para o destino. Se o ping também falhar, o host está inativo ou a bloquear todo o ICMP. Se o ping for bem-sucedido, apenas o protocolo de sonda está bloqueado — mude de protocolo.

Traceroute para Diagnósticos de Servidor e Alojamento

O traceroute é indispensável ao diagnosticar problemas de conectividade entre a sua infraestrutura e utilizadores finais ou entre serviços. Se estiver a executar aplicações num Servidor Dedicado, um traceroute a partir de múltiplos pontos de observação geograficamente distribuídos revela se a latência está localizada numa região ou ISP específico.

Para ambientes de alojamento web geridos através de um painel de controlo, rastrear rotas para o IP do seu servidor a partir do lado do cliente ajuda a distinguir entre um problema ao nível do alojamento e um problema de trânsito de rede. Os administradores que utilizam VPS com cPanel podem cruzar dados de traceroute com registos de acesso do lado do servidor para construir uma imagem completa de uma reclamação de conectividade.

Ao diagnosticar falhas de entrega de email ou timeouts SMTP, executar um traceroute para o IP do seu servidor de email é um primeiro passo lógico antes de investigar registos SPF/DKIM. Se utilizar um serviço dedicado de Alojamento de Email, isto ajuda a confirmar se o problema é ao nível da rede ou de configuração.

Para cargas de trabalho sensíveis à latência, como inferência de machine learning ou pipelines de renderização a executar em Alojamento GPU, o traceroute ajuda a verificar que o caminho de rede entre o seu cliente e o nó GPU está otimamente roteado sem hops de trânsito inesperados.

Técnicas Avançadas: Traceroute Online e Distribuído

Os traceroutes de ponto único apenas mostram o caminho a partir da sua máquina. Para uma análise de rede abrangente:

  • Servidores Looking Glass: Muitos ISPs e IXPs operam servidores looking glass públicos que permitem executar traceroutes a partir da sua extremidade de rede, revelando o caminho na perspetiva de uma operadora.
  • BGP.tools / RIPE Atlas: Plataformas de medição distribuída que executam traceroutes a partir de centenas de pontos de observação globais simultaneamente, expondo anomalias de roteamento regional invisíveis a partir de uma única localização.
  • PathPing (Windows): Uma ferramenta Windows integrada que combina `ping` e `tracert`, executando sondas contínuas para cada hop e calculando estatísticas de perda de pacotes. Execute com: `pathping example.com`
  • WinMTR: Um equivalente gráfico Windows do `mtr`, fornecendo estatísticas de perda de pacotes e latência por hop em tempo real.

Matriz de Decisão Prática: Qual Ferramenta Utilizar

SituaçãoFerramenta Recomendada
Verificação rápida de caminho único no Windows`tracert -d target`
Verificação rápida de caminho único no Linux/macOS`traceroute -n target`
Análise contínua/em tempo real de perda de pacotes`mtr target`
Destino atrás de firewall a bloquear ICMP/UDP`traceroute -T -p 443 target` (Linux/macOS)
Identificar qual ISP é proprietário de cada hop`traceroute -A target` (Linux)
Diagnóstico a partir de múltiplas localizações globaisRIPE Atlas ou BGP.tools
Estatísticas de perda contínua no Windows`pathping target`
Comparar caminhos de ida e retornoExecutar traceroute a partir de ambos os endpoints

Principais Conclusões Técnicas

  • Utilize sempre `-n` ou `-d` primeiro para eliminar atrasos de resolução DNS e obter resultados brutos mais rapidamente.
  • Um hop a mostrar `* * *` não indica um caminho interrompido — avalie os hops que se seguem.
  • A latência num único hop intermédio é frequentemente limitação de taxa ICMP, não um verdadeiro bottleneck.
  • Mude os protocolos de sonda (ICMP, UDP, TCP SYN) quando encontrar timeouts persistentes — as firewalls são seletivas em relação ao protocolo.
  • Utilize `mtr` em vez de `traceroute` para qualquer sessão de diagnóstico mais longa do que uma única verificação.
  • O traceroute apenas revela o caminho de ida. O roteamento assimétrico requer análise bidirecional.
  • O flag `-A` no traceroute Linux adiciona anotação de número AS, essencial para análise de roteamento multi-ISP.
  • Documente os resultados de traceroute com marcas de tempo ao submeter tickets de suporte ao ISP — as operadoras requerem estes dados para investigar problemas ao nível BGP.

Perguntas Frequentes

Por que razão o traceroute mostra `* * *` para alguns hops mas o destino ainda é acessível?

Os routers ao longo do caminho estão configurados para descartar ou limitar a taxa de mensagens ICMP TTL-exceeded enquanto continuam a encaminhar tráfego normalmente. Esta é uma política deliberada de segurança e desempenho na maioria dos routers empresariais e de grau operadora. Não indica perda de pacotes no caminho de dados.

Qual é a diferença entre `tracert` no Windows e `traceroute` no Linux?

A diferença principal é o protocolo de sonda padrão: `tracert` usa ICMP Echo Requests, enquanto o `traceroute` Linux/macOS usa datagramas UDP. Isto significa que interagem de forma diferente com firewalls e ACLs. O `traceroute` Linux também suporta sondas TCP SYN e pesquisas de número AS, o que o `tracert` não suporta.

Como executo um traceroute através de uma firewall que bloqueia UDP e ICMP?

Utilize o modo TCP SYN com uma porta que esteja quase certamente aberta no destino, como a porta 80 ou 443: `sudo traceroute -T -p 443 example.com`. As sondas TCP SYN passam pela maioria das firewalls com estado porque se assemelham ao início de uma ligação legítima.

O que significa quando a latência do traceroute salta subitamente e permanece alta em todos os hops restantes?

Um aumento persistente de latência a partir de um hop específico em diante indica um verdadeiro bottleneck ou ligação congestionada nesse ponto do caminho. Isto é distinto de um pico num único hop (que normalmente é limitação de taxa). O aumento sustentado significa que todo o tráfego está a ser atrasado nesse nó ou na ligação imediatamente após ele.

O traceroute pode diagnosticar desempenho lento de websites?

O traceroute diagnostica apenas latência ao nível da rede e problemas de roteamento. Se o caminho de rede parecer limpo mas o website continuar lento, o problema é do lado do servidor — tempo de processamento da aplicação, latência de consultas à base de dados ou esgotamento de recursos. Utilize ferramentas de monitorização do servidor em conjunto com o traceroute para um diagnóstico completo.

15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar