Como Executar Traceroute no Mac: Comando, Resultado e O Que Significa
Como executar traceroute no Mac, ler cada salto, identificar abrandamentos e firewalls, e usar uma interface gráfica se preferires evitar o Terminal. Cobre o macOS Sequoia e posterior.
A tua internet está lenta, mas a ligação tecnicamente funciona. As páginas carregam eventualmente. As videochamadas têm cortes. Algo está errado algures entre o teu Mac e o servidor. O Traceroute diz-te exatamente onde.
Um traceroute no macOS mostra cada router pelo qual os teus dados passam a caminho de um destino, com tempos de resposta para cada um. Se houver congestionamento, um encaminhamento mal configurado ou uma ligação interrompida, aparece no resultado. Este guia cobre o comando traceroute, como ler o que devolve, o que significam os padrões comuns e como executar um traceroute no Mac sem o Terminal se preferires uma interface visual.
O que o traceroute faz
Os dados não viajam diretamente do teu Mac para um servidor. Saltam através de uma cadeia de routers: o teu router doméstico, o equipamento do teu FSI, redes de backbone regionais e finalmente a rede do destino. Cada passo chama-se um salto.
O Traceroute mapeia essa cadeia explorando um campo em cada pacote de rede chamado TTL (time to live). O TTL é um contador. Cada router que reencaminha um pacote decrementa-o em um. Quando o TTL atinge zero, o router descarta o pacote e envia de volta uma mensagem de erro identificando-se.
O Traceroute envia um pacote com TTL=1. O primeiro router descarta-o e responde. O Traceroute regista o endereço e o tempo de resposta desse router e depois envia um pacote com TTL=2. O segundo router responde. Isto continua salto a salto até os pacotes chegarem ao destino.
O resultado é um mapa completo do caminho, com medições de latência em cada passo.
Executar traceroute no macOS
Abre o Terminal (Aplicações > Utilitários > Terminal) e executa:
traceroute google.com
Os resultados aparecem linha por linha à medida que cada salto responde. Não tens de esperar pelo fim de toda a execução para ler os primeiros saltos.
Como é o resultado
traceroute to google.com (142.250.80.46), 64 hops max, 52 byte packets
1 192.168.1.1 (192.168.1.1) 2.849 ms 2.103 ms 1.987 ms
2 96.120.68.69 (96.120.68.69) 12.445 ms 11.203 ms 10.987 ms
3 68.87.167.117 (68.87.167.117) 14.221 ms 13.008 ms 12.445 ms
4 * * *
5 72.14.215.171 (72.14.215.171) 18.334 ms 17.112 ms 16.889 ms
6 108.170.246.33 (108.170.246.33) 19.441 ms 18.902 ms 18.776 ms
7 lga34s32-in-f14.1e100.net (142.250.80.46) 20.112 ms 19.887 ms 19.654 ms
As colunas são:
- Número do salto (mais à esquerda): a posição na cadeia. O Salto 1 é o teu router doméstico.
- Nome do host e IP: a identidade do router. O DNS reverso fornece o nome do host quando disponível; caso contrário, apenas vês o IP.
- Três leituras de tempo em ms: o traceroute envia três sondas por salto. Estes são os tempos de ida e volta para cada uma. Três leituras permitem-te identificar inconsistências: se duas são 12ms e uma é 80ms, esse salto tem picos ocasionais.
Opções úteis
| Opção | O que faz |
|---|---|
-n |
Ignora pesquisas DNS. Mostra apenas endereços IP, corre mais rápido. |
-m 30 |
Define o máximo de saltos (o padrão é 64). Útil se souberes que o destino está próximo. |
-q 1 |
Envia apenas uma sonda por salto em vez de três. Mais rápido, menos dados. |
-w 2 |
Espera apenas 2 segundos por salto em vez de 5. Acelera as execuções para saltos sem resposta. |
Uma combinação comum para resultados mais rápidos:
traceroute -n -q 1 -w 2 google.com
Como ler os resultados do traceroute
Progressão da latência
A latência geralmente aumenta à medida que os saltos ficam mais distantes de ti. O teu router doméstico responde em 1-5ms. O equipamento do teu FSI pode ser 10-20ms. Os destinos internacionais podem ser 100-200ms ou mais. Essa progressão é normal.
O que procuras é um salto repentino: vários saltos consecutivos numa faixa semelhante e depois um salto onde a latência aumenta bruscamente e permanece alta para todos os saltos subsequentes. Esse pico aponta para onde o abrandamento está a ocorrer.
Se a latência aumentar num salto mas depois baixar no seguinte, o pico foi na forma como esse router trata as sondas de traceroute, não no caminho de dados real. Alguns routers priorizam menos a resposta a pacotes de diagnóstico enquanto passam o tráfego regular normalmente.
Asteriscos: * * *
Uma linha de asteriscos significa que o router nesse salto não enviou uma resposta dentro do tempo limite. Três causas:
- Firewall a bloquear ICMP: muitos routers, especialmente em redes empresariais e de operadoras, estão configurados para descartar silenciosamente as sondas de traceroute. Esta é a razão mais comum.
- Limitação de taxa: o router respondeu a algumas sondas mas não a todas. Podes ver
* 14ms *para uma resposta parcial. - Perda de pacotes real: a ligação entre saltos tem problemas reais.
O teste chave é o que acontece após os asteriscos. Se a rota continua e chega ao destino, os asteriscos são quase certamente uma configuração de firewall, não um problema real. Se a rota para nos asteriscos e nunca chega ao destino, há uma quebra real nesse ponto.
Ler um exemplo completo
1 192.168.1.1 2 ms 2 ms 1 ms ← teu router doméstico, saudável
2 10.20.30.1 11 ms 10 ms 10 ms ← primeiro salto do FSI, normal
3 * * * ← salto silencioso, provavelmente uma firewall
4 68.86.90.34 14 ms 13 ms 13 ms ← rota continua, salto 3 era apenas uma firewall
5 96.110.40.1 15 ms 15 ms 15 ms
6 96.110.40.2 180 ms 178 ms 179 ms ← latência sobe aqui, bottleneck nesta ligação
7 162.151.77.10 182 ms 181 ms 180 ms ← permanece alta a partir daqui
8 destination 184 ms 183 ms 182 ms
Neste trace: os saltos 1-5 estão saudáveis, o salto 3 silencioso é uma firewall (a rota continua bem) e o salto 6 é onde algo abrandou. O problema está no ou antes do salto 6.
Padrões comuns e o que significam
Latência consistentemente alta desde o salto 1: o teu router doméstico é o gargalo. Isto acontece com routers mais antigos sobrecarregados, routers a correr demasiados clientes simultaneamente, ou routers com problemas de hardware. Reiniciar às vezes ajuda; substituir o hardware antigo é uma correção mais duradoura.
Picos de latência nos saltos 2-4: a infraestrutura local do teu FSI está congestionada. Isto aparece frequentemente ao fim do dia durante as horas de ponta em zonas residenciais. Podes tentar ligar ao teu FSI para reportar, mas muitas vezes não há nada a fazer a não ser esperar.
Um salto com alta latência, saltos subsequentes normais: esse router prioriza menos as respostas ICMP. O caminho de dados real através dele está provavelmente bem. Não tomes medidas em relação a isto a não ser que o destino também mostre alta latência.
Latência sobe bruscamente e permanece alta: este é o sinal real. Encontra o salto onde sobe e esse é o gargalo. Se for nos saltos 1-2, é a tua rede local. Se for nos saltos 3-5, é o teu FSI. Se for no salto 8 ou posterior, está fora do teu controlo.
A rota passa por uma geografia inesperada: uma ligação a um servidor próximo pode ser encaminhada por outra região ou até por outro continente. Isto pode adicionar latência significativa. O encaminhamento da internet é controlado por tabelas de encaminhamento que otimizam o custo e os acordos de peering, não necessariamente a proximidade física. Se vires uma ligação a um datacenter a 80 km a ser encaminhada pela Europa, isso é uma má configuração de tabela de encaminhamento em algum lugar.
Os pacotes nunca chegam ao destino: a rota para completamente. Ou o destino está em baixo, há uma interrupção numa ligação entre ti e ele, ou uma firewall está a bloquear as tuas sondas de chegarem. Tenta ping ao mesmo destino para ver se o ICMP pelo menos recebe uma resposta.
Executar traceroute no Mac sem o Terminal
Se preferires não trabalhar no Terminal, o NetUtil inclui uma ferramenta de traceroute com uma interface baseada em tabelas. Introduz um nome de host e clica em Traçar. Os resultados aparecem salto a salto numa tabela estruturada com colunas para número do salto, nome do host, endereço IP e os três valores de tempo.
A Apple costumava incluir isto no Network Utility, uma aplicação integrada com um separador de traceroute gráfico. O Network Utility foi removido no macOS Monterey. O NetUtil é um substituto gratuito que cobre o traceroute juntamente com ping, consulta DNS, análise de portas e outros diagnósticos.
A vantagem prática de uma interface gráfica sobre o resultado do Terminal não é apenas estética. Quando estás a comparar dois traces executados com minutos de diferença, tê-los em janelas separadas com o mesmo layout de colunas torna as diferenças mais fáceis de ver. Os saltos com alta latência destacam-se sem ter de percorrer texto bruto.
Tudo corre localmente no teu Mac. As sondas de traceroute vão diretamente da tua máquina para o destino sem passar por servidores de terceiros.
O que fazer com o que encontrares
O Traceroute diagnostica mas não corrige. O que aprendes determina o que fazer a seguir.
Problema nos saltos 1-2 (a tua rede local): reinicia o teu router. Verifica se o problema aparece noutros dispositivos na tua rede. Se for num dispositivo, verifica a configuração de rede desse dispositivo. Se for em todos os dispositivos, o router é o problema.
Problema nos saltos 3-5 (o teu FSI): liga ao suporte com o resultado do traceroute. Saber qual salto é lento dá à equipa de suporte algo concreto para analisar. Pergunta especificamente sobre congestionamento ou problemas nesse endereço IP.
Problema além do teu FSI: se o salto lento está longe na cadeia, provavelmente está em redes de backbone ou na infraestrutura do destino. Normalmente não há nada de acionável da tua parte. Espera e verifica novamente mais tarde, ou tenta encaminhar através de uma VPN para ver se um caminho diferente evita o gargalo.
Não consegues alcançar o destino: verifica se o site está em baixo para toda a gente usando um serviço como o downdetector.com. Se não for uma interrupção geral, tenta a partir de uma rede diferente (como o LTE do teu telemóvel) para determinar se o problema é específico da tua ligação ou mais generalizado.
Da próxima vez que algo parecer lento, executa um traceroute antes de assumir o pior. Demora cerca de 30 segundos e diz-te imediatamente se o problema é algo que podes corrigir ou algo que tens de esperar que passe.