Se hai bisogno di capire dove stanno andando i tuoi pacchetti una volta che lasciano il tuo computer Linux, traceroute su Linux è tuo amico.
Traceroute è una pratica utility presente su quasi tutte le distribuzioni Linux che tiene traccia dei router che i pacchetti di rete attraversano su una rete. Questa utilità è utile per la risoluzione dei problemi o per una semplice pianificazione della rete.
Non tutte le distribuzioni di Linux contengono lo stesso pacchetto per
traceroute
comando. Alcune distribuzioni utilizzano il pacchetto legacy inetutils che contiene traceroute come parte di una suite di strumenti di rete, mentre altre hanno un moderno pacchetto traceroute.x86_64.
Correlati:come utilizzare Traceroute in Windows 10 (Tracert)
Ispezione dei parametri di traceroute
Per iniziare, diamo prima un'occhiata a cosa è possibile fare con il comando traceroute di Linux.
Apri un terminale e digita il comando traceroute -?
per accedere alla pagina di 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 .
Come puoi vedere sopra, hai molte opzioni per modificare il funzionamento di traceroute.
Funzionalità di base di traceroute
Sebbene tu abbia parametri per modificare traceroute, in realtà non ti servono tutti. In effetti, puoi semplicemente eseguire traceroute e fornire l'host a cui tracciare. Una volta fatto ciò, come puoi vedere di seguito, traceroute su Linux invia un pacchetto da 60 byte e segue ogni hop necessario per raggiungere l'host di destinazione.
È in grado di tracciare questi salti utilizzando un time-to-live (TTL) su ciascun pacchetto, decrementandolo di uno ogni volta per rilevare quando il pacchetto non viene più ricevuto.
Sappi che traceroute ha un numero massimo di salti. Andrà solo fino a un massimo di 30 hop.
Aggiunta di interruttori per un monitoraggio più preciso
La funzionalità predefinita di traceroute su Linux funziona bene, ma c'è molto di più che puoi fare. Esaminiamo ora molti degli switch più popolari e utili che hai a disposizione.
Esclusione di hop con l'opzione First-hop
Un comando utile esclude alcuni router dalla traccia. Usando il -f
o --first-hop=NUM
parametro, è possibile escludere determinati router dalla visualizzazione. Questo potrebbe essere molto utile se sei sicuro che uno o più router non stiano causando problemi.
Puoi anche usare il -f
passare per impostare la traccia in modo che inizi oltre il perimetro della rete per restringere le possibili cause di latenza su Internet.
Nella 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 ISP. Nota che mancano i primi due hop.
Ci vogliono 15 hop per raggiungere www.google.com dalla mia rete dall'esempio sopra. Vedi:
- conteggio dei salti
- nome host o IP del router lungo il percorso tracciato
- tempi di risposta come prima
Potresti vedere interfacce aggiuntive per alcune speranze nell'output. Questo è previsto.
Limitare i salti con l'interruttore Max-Hop
Ora diciamo che oltre a saltare i primi due salti, vuoi anche il percorso fino al quinto salto nel percorso. È qui che useresti il -m
o --max-hop=NUM
cambiare parametro.
Digita traceroute -m 5 -f 3 http://www.google.com
nel tuo terminale e premi Invio. Questo comando è certamente utile per restringere potenziali problemi di routing. Traceroute ora salta i primi due salti e si ferma al quinto.
Ridurre i pacchetti di sonda inviati con lo switch -Q
Traceroute su Linux, per impostazione predefinita, invia tre pacchetti probe a ciascun router nel percorso. Forse vorresti ridurre il tempo traceroute
ci vuole per correre. Puoi modificare il numero di pacchetti sonda inviati a ciascun router utilizzando il -q
parametro.
Digita traceroute -q -m 5 -f 3 www.google.com
nel tuo terminale e premi Invio . Puoi vedere sotto quel traceroute
sta inviando un solo pacchetto perché riceviamo solo un tempo di risposta per hop.
Puoi anche aumentare anche il numero di pacchetti sonda inviati per hop ma specificando un argomento per il -q
parametro come mostrato di seguito. L'aumento dei probe dei pacchetti inviati potrebbe aiutare fornendo un modo per calcolare la media dei tempi di risposta a ogni hop.
Riepilogo
In questo articolo su Traceroute per Linux, hai appreso le basi dell'utilizzo di questa pratica utility. C'è molto di più che puoi fare con questo comando. Se desideri imparare a utilizzare ogni interruttore, assicurati di controllare la pagina man.