GNU/Linux >> Linux Esercitazione >  >> Linux

Comando Traceroute di Linux, spiegato con esempi

In questo articolo, discuteremo di tutto ciò che vuoi sapere sul comando traceroute di Linux e su come usarlo nella tua pratica quotidiana.

Traceroute è un'utilità della riga di comando che stampa il percorso (o i salti) che un pacchetto richiede per raggiungere un altro host. Viene utilizzato per la diagnostica di rete. Come suggerisce il nome, lo scopo principale di un traceroute è tracciare il percorso IP da una sorgente a una destinazione all'interno di una rete IP, consentendo agli amministratori di risolvere meglio i problemi di connettività. Traceroute non solo dirà se si dispone di connettività, ma indicherà esattamente dove si trova il problema e perché dovrebbe accadere.

Traceroute ti fornisce informazioni complete sul percorso che i tuoi dati seguiranno per raggiungere la loro destinazione. Ad esempio, se il il tuo computer (fonte) si trova a Los Angeles, California e il server a New York (destinazione) , traceroute identificherà il percorso completo, ogni hop (i computer, i router o qualsiasi dispositivo che si trova tra l'origine e la destinazione) sul percorso e il tempo necessario per andare e tornare indietro.

Tuttavia, in Internet, i messaggi di Traceroute sono spesso bloccati dai router in vari sistemi autonomi, rendendo in alcuni casi Traceroute impreciso.

Come funziona Traceroute

Traceroute utilizza più comunemente pacchetti di eco ICMP (Internet Control Message Protocol) con valori TTL (Time to Live) variabili. Per garantire la precisione, ogni hop viene interrogato più volte e viene calcolato il tempo di risposta di ogni hop.

Il comando traceroute di Linux funziona manipolando il TTL. Lo scopo di TTL è limitare la durata della vita dei dati in una rete IP. A ogni pacchetto di dati inviato viene assegnato un valore TTL. Quando un pacchetto di dati raggiunge un hop sulla strada per il dispositivo di destinazione, il valore TTL viene ridotto di 1.

Quando un router decrementa il valore di conteggio di un pacchetto a zero, invia un messaggio di errore ICMP "tempo superato" all'indirizzo IP di origine nel pacchetto, altrimenti inoltra il pacchetto in avanti.

Uno strumento traceroute invia i pacchetti a un IP di destinazione e con un TTL impostato su 1, in modo che il primo router raggiunto dai pacchetti invii un errore "tempo superato". Quando l'errore ritorna, lo strumento traceroute registra l'identità del primo router e il tempo di andata e ritorno, incrementa il TTL e invia nuovi pacchetti, ripetendo questo processo fino a quando l'ultimo pacchetto raggiunge l'IP di destinazione o due set di pacchetti vengono eliminati.

Come utilizzare il comando traceroute su Linux

Iniziamo con un semplice esempio. Eseguiamo il traceroute comando per www.google.com dominio.

traceroute www.google.com
traceroute to www.google.com (142.251.33.4), 30 hops max, 60 byte packets
1  63.133.178.109 (63.133.178.109)  0.210 ms  0.268 ms  0.214 ms
2  ae1.cr0-dal4.ip4.gtt.net (69.174.3.1)  0.311 ms  0.317 ms  0.354 ms
3  ae1.cr10-dal3.ip4.gtt.net (213.254.230.210)  1.260 ms  2.320 ms  2.304 ms
4  as15169.dal33.ip4.gtt.net (199.229.230.118)  3.595 ms  2.464 ms  1.365 ms
5  108.170.240.129 (108.170.240.129)  2.636 ms 108.170.240.193 (108.170.240.193)  1.501 ms 108.170.240.129 (108.170.240.129)  2.620 ms
6  142.251.60.143 (142.251.60.143)  1.480 ms  1.499 ms 142.251.60.145 (142.251.60.145)  1.473 ms
7  dfw25s44-in-f4.1e100.net (142.251.33.4)  1.425 ms  1.622 ms  1.587 ms

La prima riga fornisce le seguenti informazioni:

  • La destinazione (www.google.com) e il relativo indirizzo IP (142.251.33.4).
  • Il numero di hop traceroute proverà prima di arrendersi (30 luppoli).
  • La dimensione dei pacchetti UDP che stiamo inviando (60 byte).

Il resto dell'output mostra tutti i router attraversati dai nostri pacchetti. In ciascuna delle righe possiamo trovare informazioni sul nome e sull'indirizzo IP dell'host. I tre valori successivi rappresentano i tempi di andata e ritorno per un determinato router.

Nel nostro caso, per connettersi a www.google.com, la richiesta deve passare attraverso sette diversi router. Nell'output, possiamo vedere che l'ultimo (142.251.33.4) è l'host di destinazione per www.google .com dominio.

Nascondere i nomi dei dispositivi

Come abbiamo visto, a volte includere i nomi dei dispositivi porta a un display disordinato. Per semplificare la visualizzazione dei dati, puoi utilizzare il comando traceroute in Linux con -n opzione.

traceroute -n www.google.com
traceroute to www.google.com (142.251.33.4), 30 hops max, 60 byte packets
1  63.133.178.109  0.142 ms  0.224 ms  0.207 ms
2  69.174.3.1  0.306 ms  0.303 ms  0.323 ms
3  213.254.230.210  11.812 ms  11.784 ms  11.771 ms
4  199.229.230.118  6.516 ms  1.851 ms  4.416 ms
5  108.170.240.129  2.944 ms 108.170.240.193  2.009 ms 108.170.240.129  2.920 ms
6  142.251.60.143  1.928 ms  1.928 ms  1.933 ms
7  142.251.33.4  1.937 ms  1.922 ms  1.926 ms

Impostazione del numero massimo di hop con il comando traceroute di Linux

Aggiungendo un ulteriore -m parametro possiamo specificare il numero massimo di hop traceroute sonderà:

traceroute -m 3 www.google.com
traceroute to www.google.com (142.251.33.4), 3 hops max, 60 byte packets
1  63.133.178.109 (63.133.178.109)  0.170 ms  0.187 ms  0.172 ms
2  ae1.cr0-dal4.ip4.gtt.net (69.174.3.1)  0.299 ms  0.300 ms  0.301 ms
3  ae1.cr10-dal3.ip4.gtt.net (213.254.230.210)  2.727 ms  2.753 ms  2.736 ms

Ora, l'output sarà composto solo dai primi tre router. Il valore predefinito per -m il parametro è 30. Pertanto, assicurati di aumentarlo nei casi in cui il numero di salti può superare 30.

Impostazione del numero di pacchetti sonda per Hop

Per impostazione predefinita, traceroute invia tre pacchetti UDP a ciascun hop. Possiamo usare il -q opzione per regolare questo verso l'alto o verso il basso.

Per velocizzare il traceroute digitiamo quanto segue per ridurre il numero di pacchetti di sonda UDP a uno:

traceroute -q 1 www.google.com
traceroute to www.google.com (142.251.33.4), 30 hops max, 60 byte packets
1  63.133.178.109 (63.133.178.109)  0.160 ms
2  ae1.cr0-dal4.ip4.gtt.net (69.174.3.1)  0.272 ms
3  ae1.cr10-dal3.ip4.gtt.net (213.254.230.210)  2.190 ms
4  as15169.dal33.ip4.gtt.net (199.229.230.118)  1.853 ms
5  108.170.240.129 (108.170.240.129)  3.063 ms
6  142.251.60.145 (142.251.60.145)  1.993 ms
7  dfw25s44-in-f4.1e100.net (142.251.33.4)  1.952 ms

Conclusione

Il traceroute di Linux command è un ottimo strumento per analizzare il routing di rete, controllare le velocità di connessione o identificare i colli di bottiglia. È disponibile in tutte le distribuzioni Linux più diffuse. Quando utilizzi questo strumento, utilizzerai spesso i metodi descritti in questo articolo.

Per ulteriori informazioni su traceroute comando in Linux, consulta la sua pagina del manuale.


Linux
  1. Comando wc Linux con esempi

  2. Comando di spegnimento di Linux spiegato con esempi

  3. Il comando nslookup Linux spiegato con esempi

  4. Comando JQ in Linux con esempi

  5. comando whoami in Linux spiegato con esempi

Comando Bash Echo spiegato con esempi in Linux

Il comando Tr in Linux spiegato con esempi

w Comando spiegato con esempi in Linux

Comando Linux Cat spiegato con esempi

Spiegazione del comando tee di Linux (con esempi)

Spiegazione del comando csplit di Linux (con esempi)