Traceroute Reference
Riferimento completo dei comandi traceroute per Linux, macOS e Windows.
Comando
traceroute <host>Opzioni
| Opzione | Descrizione |
|---|---|
| -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 |
Esempi
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
Come funziona
Traceroute mappa il percorso di rete dal tuo computer all'host di destinazione. Invia pacchetti con valori TTL (Time To Live) crescenti e registra la risposta di ogni router, mostrando l'indirizzo IP e il tempo di risposta ad ogni hop. Questo aiuta a diagnosticare i problemi di connettività di rete e a comprendere i percorsi di instradamento.
Informazioni sullo strumento
Traceroute è uno strumento di diagnostica che traccia il percorso di rete seguito dai pacchetti di dati che viaggiano dal tuo computer a un host di destinazione, mostrando ogni hop di router intermedio e il tempo necessario per raggiungere ciascuno. Comprendere come i dati viaggiano su Internet è cruciale per amministratori di rete, sviluppatori e professionisti IT che hanno bisogno di diagnosticare problemi di connettività, identificare problemi di latenza o comprendere il comportamento del routing. Questo Riferimento Traceroute fornisce una guida completa dei comandi per sistemi Linux, macOS e Windows, coprendo sintassi, opzioni ed esempi del mondo reale per ogni piattaforma.
Semplicemente cerca il comando traceroute per il tuo sistema operativo ed esplora le spiegazioni dettagliate delle opzioni disponibili—che tu debba regolare le dimensioni del pacchetto, modificare i massimi hop, impostare numeri di porta specifici o configurare i valori di timeout. Che tu stia risolvendo una connessione lenta verso un server remoto, investigando perché i pacchetti vengono scartati a un hop particolare, o documentando la topologia della rete per la pianificazione dell'infrastruttura, questo riferimento fornisce una guida pratica senza complessità inutili.
I professionisti di rete, gli amministratori di sistema, gli specialisti in cibersicurezza e gli ingegneri cloud si affidano tutti su traceroute come parte del loro toolkit di diagnostica. Questo strumento è essenziale per chiunque sia responsabile del mantenimento di una connettività di rete affidabile, del supporto di sistemi in produzione o dell'investigazione di problemi in ambienti di rete multi-hop.
Domande Frequenti
Implementazione del Codice
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.