GNU/Linux >> Linux Esercitazione >  >> Linux

5 Esempi di comandi traceroute UNIX/Linux

Ci sono scenari in cui si vorrebbe conoscere il percorso seguito da una connessione. Per route qui intendiamo gli indirizzi IP di tutte le entità di inoltro (come i router intermedi).

Sebbene non vi sia alcuna garanzia che il percorso rimanga lo stesso per tutti i pacchetti di una connessione, ma di solito è lo stesso. Queste informazioni relative al percorso possono essere molto utili durante il debug di problemi relativi alla rete.

l'utilità traceroute stampa il percorso completo verso una destinazione particolare. In questo articolo discuteremo di come funziona traceroute e vedremo alcuni esempi pratici.

Come funziona Traceroute?

Prima di iniziare con gli esempi, cerchiamo di capire il concetto su cui funziona traceroute.

L'utilità Traceroute utilizza il campo TTL nell'intestazione IP per ottenere il suo funzionamento. Per gli utenti che non conoscono il campo TTL, questo campo descrive la quantità di salti che un particolare pacchetto impiegherà durante il viaggio in rete.

Quindi, questo delinea efficacemente la durata del pacchetto sulla rete. Questo campo è generalmente impostato su 32 o 64. Ogni volta che il pacchetto viene trattenuto su un router intermedio, diminuisce il valore TTL di 1. Quando un router trova il valore TTL di 1 in un pacchetto ricevuto, quel pacchetto non viene inoltrato ma scartato.

Dopo aver scartato il pacchetto, il router invia un messaggio di errore ICMP di "Tempo superato" all'origine da cui è stato generato il pacchetto. Il pacchetto ICMP restituito contiene l'indirizzo IP del router.

Quindi ora si può facilmente capire che traceroute opera inviando pacchetti con valore TTL a partire da 1 e poi incrementando di uno ogni volta. Ogni volta che un router riceve il pacchetto, controlla il campo TTL, se il campo TTL è 1 allora scarta il pacchetto e invia il pacchetto di errore ICMP contenente il suo indirizzo IP e questo è ciò che richiede traceroute. Quindi traceroute recupera in modo incrementale l'IP di tutti i router tra l'origine e la destinazione.

Dovresti anche comprendere i campi dell'intestazione IP di cui abbiamo discusso tempo fa.

Esempi di traceroute

1. Come eseguire traceroute?

$ traceroute <server-name>

Il nome del server sopra è il nome di destinazione o l'indirizzo IP. Ad esempio, traceroute viene utilizzato per trovare il percorso di rete dalla mia macchina a google.com :

$ traceroute google.com
traceroute to google.com (74.125.236.132), 30 hops max, 60 byte packets
1  220.224.141.129 (220.224.141.129)  89.174 ms  89.094 ms  89.054 ms
2  115.255.239.65 (115.255.239.65)  109.037 ms  108.994 ms  108.963 ms
3  124.124.251.245 (124.124.251.245)  108.937 ms  121.322 ms  121.300 ms
4  * 115.255.239.45 (115.255.239.45)  113.754 ms  113.692 ms
5  72.14.212.118 (72.14.212.118)  123.585 ms  123.558 ms  123.527 ms
6  72.14.232.202 (72.14.232.202)  123.499 ms  123.475 ms  143.523 ms
7  216.239.48.179 (216.239.48.179)  143.503 ms  95.106 ms  95.026 ms
8  bom03s02-in-f4.1e100.net (74.125.236.132)  94.980 ms  104.989 ms  104.954 ms

Ogni riga fornisce i dettagli dell'interazione con ogni router incontrato. Quindi vediamo che traceroute non fornisce solo gli indirizzi IP dei router intermedi ma anche tre tempi di andata e ritorno per quel particolare router poiché per ogni router i comandi traceroute sparano tre pacchetti.

Il campo '*' in output

Ci sono momenti in cui si potrebbe incontrare un "*" nell'output piuttosto che un valore. Ciò indica che non è stato possibile recuperare il campo richiesto. Il motivo può essere qualsiasi cosa, dall'errore di ricerca DNS inversa ai pacchetti che non raggiungono il router di destinazione ai pacchetti che si perdono sulla via del ritorno. Quindi vediamo che le ragioni potrebbero essere molte, ma per tutti questi tipi di casi l'utilità traceroute fornisce un * nell'output.

2. Disabilita la mappatura dell'indirizzo IP e del nome host

Traceroute fornisce un'opzione attraverso la quale la mappatura degli indirizzi IP con il nome host (che traceroute prova) è disabilitata. L'opzione per farlo è '-n' . L'esempio seguente illustra questo:

$ traceroute google.com -n
traceroute to google.com (173.194.36.7), 30 hops max, 60 byte packets
1  220.224.141.129  109.352 ms  109.280 ms  109.248 ms
2  115.255.239.65  131.633 ms  131.598 ms  131.573 ms
3  124.124.251.245  131.554 ms  131.529 ms  131.502 ms
4  115.255.239.45  131.478 ms  131.464 ms  199.741 ms
5  72.14.212.118  199.674 ms  199.637 ms  199.603 ms
6  209.85.241.52  199.578 ms  199.549 ms  209.838 ms
7  209.85.241.187  199.488 ms  177.264 ms  177.196 ms
8  173.194.36.7  177.159 ms  187.463 ms  187.434 ms

Quindi vediamo che nessun nome host viene visualizzato nell'output.

3. Configura il tempo di attesa della risposta

È anche possibile configurare il tempo di attesa dell'utilità traceroute dopo l'emissione di un probe. Questo può essere fatto tramite l'opzione '-w' che fornisce. L'opzione -w prevede un valore che l'utilità prenderà come tempo di risposta da attendere. In questo esempio, il tempo di attesa è di 0,1 secondi e l'utilità traceroute non è stata in grado di attendere alcuna risposta e ha stampato tutti gli *.

$ traceroute google.com -w 0.1
traceroute to google.com (74.125.236.101), 30 hops max, 60 byte packets
1  * * *
2  * * *
3  * * *
..
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Quindi vediamo che traceroute ha provato 30 tentativi (il numero massimo di tentativi di hop) e poi ha rinunciato perché nessun pacchetto ICMP è stato ricevuto in 0,1 secondi.

4. Configura il numero di query per Hop

Come già spiegato in precedenza, l'utilità traceroute invia 3 pacchetti per hop per fornire 3 tempi di andata e ritorno. Questo valore predefinito di 3 è configurabile utilizzando l'opzione '-q'. Questa opzione prevede un numero intero che imposta come nuovo valore del numero di sonde per hop.

$ traceroute google.com -q 5
traceroute to google.com (173.194.36.46), 30 hops max, 60 byte packets
1  220.224.141.129 (220.224.141.129)  91.579 ms  91.497 ms  91.458 ms  91.422 ms  91.385 ms
2  115.255.239.65 (115.255.239.65)  91.356 ms  91.325 ms  98.868 ms  98.848 ms  98.829 ms
3  124.124.251.245 (124.124.251.245)  94.581 ms  107.083 ms  107.044 ms  107.017 ms  106.981 ms
4  115.255.239.45 (115.255.239.45)  106.948 ms  106.918 ms  144.432 ms  144.412 ms  144.392 ms
5  72.14.212.118 (72.14.212.118)  115.565 ms  115.485 ms  115.446 ms  115.408 ms  115.381 ms
6  72.14.232.202 (72.14.232.202)  115.351 ms  87.232 ms  117.157 ms  117.123 ms  117.049 ms
7  209.85.241.189 (209.85.241.189)  126.998 ms  126.973 ms  126.950 ms  126.929 ms  126.912 ms
8  bom04s02-in-f14.1e100.net (173.194.36.46)  126.889 ms  95.526 ms  95.450 ms  95.418 ms  105.392 ms

Quindi vediamo che dopo aver configurato il numero di sonde su 5, l'output ha iniziato a mostrare cinque tempi di andata e ritorno per hop.

5. Configura il valore TTL con cui iniziare

L'utilità Traceroute è sufficientemente flessibile da accettare il valore TTL con cui l'utente desidera avviare l'utilità. Per impostazione predefinita il suo valore è 1, il che significa che inizia con il primo router nel percorso ma utilizzando l'opzione '-f' (che prevede il nuovo valore di TTL) è possibile impostare un nuovo valore del campo TTL. Ad esempio, ho provato una normale operazione di traceroute e poi ho provato una traceroute con un valore TTL diverso.

$ traceroute google.com
traceroute to google.com (74.125.236.132), 30 hops max, 60 byte packets
1  220.224.141.129 (220.224.141.129)  89.181 ms  101.540 ms  101.503 ms
2  115.255.239.65 (115.255.239.65)  101.468 ms  101.431 ms  101.324 ms
3  124.124.251.245 (124.124.251.245)  121.373 ms  121.350 ms  158.694 ms
4  115.255.239.45 (115.255.239.45)  101.223 ms  141.135 ms  123.932 ms
5  72.14.212.118 (72.14.212.118)  123.867 ms  123.832 ms  123.802 ms
6  72.14.232.202 (72.14.232.202)  123.773 ms  123.742 ms  587.812 ms
7  216.239.48.179 (216.239.48.179)  587.723 ms  587.681 ms  587.642 ms
8  bom03s02-in-f4.1e100.net (74.125.236.132)  577.548 ms  577.524 ms  587.512 ms

$ traceroute google.com -f 8
traceroute to google.com (74.125.236.129), 30 hops max, 60 byte packets
8  bom03s02-in-f1.1e100.net (74.125.236.129)  96.961 ms  96.886 ms  96.849 ms

Quindi vediamo che dopo aver usato l'opzione -f con valore 8, è stata mostrata solo l'ultima (8a) riga dell'output precedente.


Linux
  1. UNIX / Linux:10 esempi di comandi Netstat

  2. 8 Esempi di comandi TR Linux

  3. Esempi di comandi rm in Linux

  4. ps Esempi di comandi in Linux

  5. esempi di comandi tail in UNIX/Linux

Comando wc Linux con esempi

10 esempi di comandi iftop in Linux

Comando Traceroute di Linux, spiegato con esempi

16 Esempi pratici di comando traceroute in Linux

15 Esempi pratici di comandi Grep in Linux / UNIX

Esempi di comandi id in Linux