Traceroute Reference
Referência completa de comando traceroute para Linux, macOS e Windows.
Comando
traceroute <host>Sinalizadores
| Flag | Descrição |
|---|---|
| -n | Do not resolve hostnames (faster) |
| -m <hops> | Set maximum hops (default: 30) |
| -w <sec> | Wait time per probe (default: 5s) |
| -q <n> | Number of probes per hop (default: 3) |
| -I | Use ICMP ECHO instead of UDP |
| -T | Use TCP SYN (requires root) |
| -p <port> | Destination port for UDP/TCP |
| -i <iface> | Use specified network interface |
| -s <src> | Use specified source address |
| -4 / -6 | Force IPv4 or IPv6 |
Exemplos
traceroute google.comBasic traceroute to a host
traceroute -n 8.8.8.8Traceroute without DNS resolution
traceroute -m 15 example.comLimit to 15 hops maximum
traceroute -I google.comUse ICMP instead of UDP
sudo traceroute -T -p 80 example.comTCP traceroute on port 80
Como funciona
Traceroute mapeia o caminho de rede de seu computador até um host de destino. Envia pacotes com valores TTL (Time To Live) crescentes e registra a resposta de cada roteador, mostrando o endereço IP e o tempo de resposta em cada salto. Isso ajuda a diagnosticar problemas de conectividade de rede e entender caminhos de roteamento.
Sobre esta ferramenta
Traceroute é uma ferramenta de diagnóstico que mapeia o caminho de rede percorrido pelos pacotes de dados que viajam do seu computador para um host de destino, mostrando cada salto de roteador intermediário e o tempo que leva para chegar a cada um. Entender como os dados viajam pela Internet é crucial para administradores de rede, desenvolvedores e profissionais de TI que precisam diagnosticar problemas de conectividade, identificar problemas de latência ou entender o comportamento de roteamento. Esta Referência de Traceroute fornece um guia de comando completo para sistemas Linux, macOS e Windows, cobrindo sintaxe, opções e exemplos do mundo real para cada plataforma.
Simplesmente procure o comando traceroute para seu sistema operacional e explore as explicações detalhadas das opções disponíveis—quer você precise ajustar o tamanho do pacote, alterar os saltos máximos, definir números de porta específicos ou configurar valores de tempo limite. Esteja solucionando problemas de uma conexão lenta para um servidor remoto, investigando por que os pacotes estão sendo descartados em um salto específico, ou documentando a topologia de rede para planejamento de infraestrutura, esta referência fornece orientação prática sem complexidade desnecessária.
Profissionais de rede, administradores de sistemas, especialistas em cibersegurança e engenheiros de nuvem dependem do traceroute como parte de seu kit de ferramentas de diagnóstico. Esta ferramenta é essencial para qualquer pessoa responsável por manter a conectividade de rede confiável, suportar sistemas de produção ou investigar problemas em ambientes de rede com múltiplos saltos.
Perguntas Frequentes
Implementação de Código
import subprocess
import platform
import re
def traceroute(host: str, max_hops: int = 30) -> list[dict]:
"""Run traceroute and parse output."""
system = platform.system()
if system == "Windows":
cmd = ["tracert", "-h", str(max_hops), host]
else:
cmd = ["traceroute", "-m", str(max_hops), host]
result = subprocess.run(cmd, capture_output=True, text=True, timeout=60)
lines = result.stdout.splitlines()
hops = []
for line in lines[1:]: # skip header
# Parse hop number and RTT values
match = re.match(r"\s*(\d+)\s+(.+)", line)
if match:
hop_num = int(match.group(1))
rest = match.group(2)
times = re.findall(r"([\d.]+)\s*ms", rest)
hostname = re.search(r"([\w.-]+)\s+\(", rest)
hops.append({
"hop": hop_num,
"host": hostname.group(1) if hostname else "*",
"times_ms": [float(t) for t in times],
})
return hops
hops = traceroute("google.com", max_hops=15)
for hop in hops:
avg = sum(hop["times_ms"]) / len(hop["times_ms"]) if hop["times_ms"] else None
avg_str = f"{avg:.1f} ms" if avg else "*"
print(f"{hop['hop']:2d} {hop['host']:<40} {avg_str}")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.