Una guida per eseguire il traceroute in Linux

Se hai bisogno di capire dove vanno i tuoi pacchetti una volta che lasciano il tuo computer Linux, il comando traceroute su Linux può esserti di aiuto.

Traceroute è un’utilità molto utile che si trova in quasi tutte le distribuzioni Linux e traccia i router che i pacchetti di rete attraversano in una rete. Questa utilità è utile per la risoluzione dei problemi o per la pianificazione di una rete semplice.

Non tutte le distribuzioni di Linux contengono lo stesso pacchetto per il comando traceroute. Alcune distribuzioni utilizzano il pacchetto legacy inetutils che contiene traceroute come parte di una suite di strumenti di rete, mentre altre hanno un pacchetto moderno traceroute.x86_64.

Correlato: Come utilizzare Traceroute in Windows 10 (Tracert)

Esaminare i parametri di Traceroute

Per iniziare, vediamo cosa è possibile fare con il comando traceroute su Linux.

Apri un terminale e digita il comando traceroute -? per accedere alla pagina del manuale:

Usage: traceroute [OPTION...] HOST
Print the route packets trace to network host.

  -f, --first-hop=NUM        set initial hop distance, i.e., time-to-live
  -g, --gateways=GATES       list of gateways for loose source routing
  -I, --icmp                 use ICMP ECHO as probe
  -m, --max-hop=NUM          set maximal hop count (default: 64)
  -M, --type=METHOD          use METHOD (`icmp' or `udp') for traceroute
                             operations, defaulting to `udp'
  -p, --port=PORT            use destination PORT port (default: 33434)
  -q, --tries=NUM            send NUM probe packets per hop (default: 3)
      --resolve-hostnames    resolve hostnames
  -t, --tos=NUM              set type of service (TOS) to NUM
  -w, --wait=NUM             wait NUM seconds for response (default: 3)
  -?, --help                 give this help list
      --usage                give a short usage message
  -V, --version              print program version

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.

Report bugs to <bug-inetutils@gnu.org>.

Come puoi vedere qui sopra, hai molte opzioni per personalizzare il funzionamento di traceroute.

Funzionalità di base di Traceroute

Anche se hai parametri per configurare traceroute, non hai effettivamente bisogno di tutti. Infatti, puoi semplicemente eseguire traceroute e fornire l’host da tracciare. Una volta fatto ciò, come puoi vedere di seguito, traceroute su Linux invia un pacchetto di 60 byte e segue ogni salto che fa per raggiungere l’host di destinazione.

È in grado di tracciare questi salti utilizzando un time-to-live (TTL) su ogni pacchetto, decrementandolo di uno ogni volta per rilevare quando il pacchetto non viene più ricevuto.

Traceroute to google.com

Sappi che traceroute ha un numero massimo di salti. Arriva solo fino a un massimo di 30 salti.

Aggiunta di opzioni per un tracciamento più preciso

La funzionalità predefinita di traceroute su Linux funziona bene, ma puoi fare molto di più. Vediamo ora molte delle opzioni più popolari e utili che hai a disposizione.

Escludere i salti con l’opzione del primo salto

Un comando utile esclude determinati router dal tracciamento. Utilizzando il parametro -f o --first-hop=NUM, è possibile escludere determinati router dalla visualizzazione. Questo potrebbe essere molto utile se sei sicuro che uno o più router non stanno causando problemi.

Puoi anche utilizzare l’opzione -f per impostare il tracciamento oltre il perimetro della tua rete, al fine di restringere le possibili cause di latenza su Internet.

Nel seguente GIF, puoi vedere il comando traceroute -f 3 google.com in esecuzione. Questo comando salta i primi tre router, bypassando così la mia rete domestica e il router dell’ISP. Nota che i primi due salti mancano.

traceroute -f example

Ci vogliono 15 salti per raggiungere www.google.com dalla mia rete, come nell’esempio sopra. Vedrai:

  • conteggio dei salti
  • nome host o IP del router lungo il percorso in traccia
  • tempi di risposta come prima

Potresti vedere interfacce aggiuntive per alcuni salti nell’output. Questo è normale.

Limitare i Salti con l’Interruttore Max-Hop

Ora supponiamo che, oltre a saltare i primi due salti, tu voglia anche il percorso fino al quinto salto. È qui che useresti il parametro di interruttore -m o --max-hop=NUM.

Digita traceroute -m 5 -f 3 http://www.google.com nel terminale e premi Invio. Questo comando è sicuramente utile per restringere potenziali problemi di instradamento. Traceroute ora salta i primi due salti e si ferma al quinto salto.

Traceroute skipping hops

Riduzione dei Pacchetti di Sonda Inviati con l’Interruttore -Q

Traceroute su Linux, per impostazione predefinita, invia tre pacchetti di sonda a ciascun router nel percorso. Forse desideri ridurre il tempo impiegato da traceroute per eseguire. Puoi modificare il numero di pacchetti di sonda inviati a ciascun router utilizzando il parametro -q.

Digita traceroute -q -m 5 -f 3 www.google.com nel tuo terminale e premi Invio. Puoi vedere qui sotto che traceroute sta inviando solo un pacchetto perché stiamo ricevendo solo un tempo di risposta per salto.

traceroute -q 6 example

Puoi anche aumentare il numero di pacchetti di prova inviati per salto specificando un argomento per il parametro -q come mostrato di seguito. Aumentare le sonde inviate potrebbe aiutare fornendo un modo per calcolare i tempi di risposta medi per ogni salto.

Argument for -q Parameter

Sommario

In questo articolo su Traceroute per Linux, hai imparato le basi dell’utilizzo di questa pratica utility. C’è molto di più che puoi fare con questo comando. Se desideri imparare come utilizzare ogni opzione, assicurati di consultare la pagina manuale.

Source:
https://adamtheautomator.com/traceroute-linux/