Linux: comando “traceroute” per diagnosticare problemi di rete e percorsi IP

INFORMATICA, LINUX, TUTORIAL

traceroute è uno strumento diagnostico per tracciare il percorso che i pacchetti di dati seguono dalla macchina sorgente fino alla destinazione. È utile per individuare problemi di connettività, verificare il percorso dei dati e analizzare la latenza su reti complesse.

Sintassi di Base

traceroute [opzioni] destinazione

destinazione: Indirizzo IP o nome di dominio da tracciare.

opzioni: Varie opzioni per personalizzare il comportamento del comando.

Esempio:

traceroute www.google.com

Funzionamento

traceroute invia pacchetti UDP con un TTL (Time To Live) crescente. Ogni router attraversato decrementa il TTL. Quando il TTL raggiunge zero, il router invia un messaggio “ICMP Time Exceeded” all’origine. In questo modo, traceroute registra ogni “salto” (hop) fino alla destinazione.

Opzioni Principali

Opzioni Generali

  • -m [max_hop]: Imposta il numero massimo di salti (hop) da eseguire. Predefinito: 30.
  • -w [timeout]: Definisce il tempo di attesa per una risposta da ciascun hop. Predefinito: 5 secondi.
  • -n: Disabilita la risoluzione dei nomi di dominio, mostrando solo indirizzi IP per velocizzare l’output.

Esempio per ciascuna opzione:

traceroute -m 20 www.google.com
traceroute -w 3 www.google.com
traceroute -n www.google.com

Opzioni Avanzate

  • -I: Utilizza pacchetti ICMP Echo Request (come il comando ping) invece di UDP.
  • -T: Usa pacchetti TCP SYN, utili per testare la connettività TCP (ad esempio su una specifica porta).
  • -p [porta]: Specifica la porta di destinazione per i pacchetti UDP (utile per testare servizi particolari).
  • -q [n]: Specifica il numero di pacchetti da inviare a ciascun hop (predefinito: 3).

Esempio per ciascuna opzione:

traceroute -I www.google.com
traceroute -T www.google.com
traceroute -p 80 www.google.com
traceroute -q 1 www.google.com

Opzioni di Output

  • -A: Mostra informazioni aggiuntive sugli ASN (Autonomous System Number) per ogni hop.
  • -f [TTL]: Imposta il valore iniziale del TTL per partire da un determinato hop.

Esempio per ciascuna opzione:

traceroute -A www.google.com
traceroute -f 5 www.google.com

Output di traceroute

L’output di traceroute è una lista di “hop”, con tre tempi di risposta per ciascuno. Se un hop non risponde, può comparire con * * * per indicare un timeout o un firewall che blocca i pacchetti.

Esempio di output:

traceroute to www.google.com (142.250.74.68), 30 hops max
 1  192.168.1.1 (192.168.1.1)  1.065 ms  1.015 ms  1.010 ms
 2  10.45.12.1 (10.45.12.1)    5.012 ms  5.011 ms  5.009 ms
 3  72.14.236.234 (72.14.236.234)  15.341 ms  15.332 ms  15.329 ms
 4  * * *
 5  142.250.74.68 (142.250.74.68)  30.432 ms  30.423 ms  30.419 ms

Esempi di Utilizzo

Tracciare un dominio con risoluzione IP

traceroute www.google.com

Tracciare un percorso con pacchetti ICMP

traceroute -I www.google.com

Limitare il numero massimo di salti a 15

traceroute -m 15 www.google.com

Tracciare utilizzando pacchetti TCP su una porta specifica (ad esempio 443 per HTTPS)

traceroute -T -p 443 www.google.com

Tracciare un indirizzo IP senza risoluzione dei nomi di dominio

traceroute -n 8.8.8.8

Visualizzare i numeri ASN (Autonomous System Number) per ogni hop

traceroute -A www.google.com

Diagnosi di Problemi di Rete

Timeout su un Hop

Se un hop mostra * * *, potrebbe essere bloccato da un firewall o il router potrebbe non rispondere ai pacchetti ICMP o UDP. Ciò non sempre indica un problema critico, ma è da verificare se il timeout persiste su più hop.

Latenza Elevata su un Hop

Se un hop ha tempi di risposta significativamente superiori rispetto agli altri, potrebbe indicare congestione della rete o problemi di routing.

Identificare Colli di Bottiglia

Analizzare i tempi di risposta di ogni hop può aiutare a identificare colli di bottiglia nella rete, dove i pacchetti subiscono ritardi anomali.

Considerazioni di Sicurezza

Alcuni firewall e router possono bloccare pacchetti di traceroute per motivi di sicurezza, quindi non tutti gli hop potrebbero rispondere correttamente. In questi casi, è consigliabile combinare l’uso di traceroute con altri strumenti di diagnostica come ping, netstat o analizzatori di traffico di rete.

Se vuoi farmi qualche richiesta o contattarmi per un aiuto riempi il seguente form