Concetti generali
Il comando Traceroute, noto anche come tracert in Windows, è uno strumento diagnostico di rete utilizzato per tracciare il percorso intrapreso da un pacchetto di dati da un'origine alla destinazione finale su Internet. Questo strumento è molto utile per identificare possibili problemi di rete, come latenza elevata o pacchetti persi.
Nel processo di tracciamento del percorso, il comando Traceroute invia una serie di pacchetti di dati attraverso la rete e ciascun pacchetto include un numero TTL (Time To Live) che inizia con un valore 1. Ogni volta che un pacchetto arriva a un nodo sulla rete, il nodo diminuisce il valore TTL di 1 prima di inoltrare il pacchetto. Quando il valore TTL raggiunge 0, il pacchetto viene scartato e il nodo invia alla sorgente un messaggio di “tempo superato”, indicando che il pacchetto non è riuscito a raggiungere la sua destinazione e che il tempo consentito è stato superato.
Il comando Traceroute ripete questo processo per ciascun nodo del percorso finché il pacchetto non raggiunge la destinazione finale. Alla fine del processo, il comando Traceroute visualizza un elenco dei nodi sul percorso, insieme all'indirizzo IP di ciascun nodo e il tempo di risposta impiegato dal pacchetto per raggiungere quel nodo.
Sequenza dettagliata del pacchetto
Il funzionamento dettagliato del comando Traceroute può essere espresso come segue:
- Il comando Traceroute invia un pacchetto di dati con un valore TTL iniziale pari a 1 alla destinazione finale.
- Il primo nodo sul percorso del pacchetto riceverà il pacchetto, decrementerà il valore TTL di 1 e invierà una risposta "TTL scaduto" alla sorgente.
- L'origine riceverà la risposta "tempo superato" e registrerà l'indirizzo IP del primo nodo.
- Il comando Traceroute invierà un altro pacchetto di dati con un valore TTL pari a 2 alla destinazione finale.
- Il secondo nodo sul percorso del pacchetto riceverà il pacchetto, decrementerà il valore TTL di 1 e invierà una risposta "tempo superato" alla sorgente.
- L'origine riceverà la risposta "tempo superato" e registrerà l'indirizzo IP del secondo nodo.
- Questo processo verrà ripetuto per ciascun nodo nel percorso del pacchetto, aumentando il valore TTL in ogni iterazione finché il pacchetto non raggiunge la destinazione finale.
- Una volta che il pacchetto raggiunge la destinazione finale, il comando Traceroute visualizza il percorso completo del pacchetto, incluso l'indirizzo IP e il tempo di risposta di ciascun nodo sul percorso.
Qual è il comando in MikroTik RouterOS
Per un esempio di come utilizzare il comando Traceroute su un Mikrotik RouterOS, è possibile seguire i seguenti passaggi:
Accedi all'interfaccia del router Mikrotik e apri la console dei comandi.
Immettere il comando Traceroute seguito dall'indirizzo IP o dal nome di dominio della destinazione verso la quale si desidera tracciare il percorso. Ad esempio, per tracciare il percorso verso il sito di Google, potresti utilizzare il seguente comando:
[admin@MikroTik] > tool traceroute google.com
Attendi il completamento del processo di tracciamento del percorso. A seconda del numero di nodi sul percorso e della latenza della rete, questo processo potrebbe richiedere alcuni secondi o diversi minuti.
Esaminare i risultati del comando Traceroute. L'output del comando visualizzerà un elenco di tutti i nodi sul percorso verso la destinazione, insieme all'indirizzo IP di ciascun nodo e il tempo di risposta impiegato per raggiungere quel nodo. Per esempio:
ADDRESS STATUS
1 192.168.1.1 1ms 1ms 1ms
2 10.0.0.1 5ms 5ms 5ms
3 200.10.0.1 10ms 10ms 10ms
4 200.10.1.1 15ms 15ms 15ms
5 200.10.2.1 20ms 20ms 20ms
6 200.10.3.1 25ms 25ms 25ms
7 8.8.8.8 30ms 30ms 30ms
[admin@MikroTik] >
In questo esempio, puoi vedere che il pacchetto di dati è passato attraverso sei diversi nodi prima di raggiungere la destinazione finale (8.8.8.8).
Differenza tra Linux Traceroute e Windows Tracert
Ci sono alcune differenze fondamentali tra i due comandi:
Sintassi del comando: La sintassi del comando Traceroute di Linux e del comando Tracert di Windows è leggermente diversa. Su Linux il comando è scritto come “traceroute”, mentre su Windows è scritto come “tracert”.
Opzioni di comando: Il comando Traceroute di Linux e il comando Tracert di Windows hanno opzioni di comando diverse. Ad esempio, su Linux, il comando Traceroute supporta opzioni come -I per specificare l'uso di ICMP anziché UDP, mentre su Windows, il comando Tracert supporta opzioni come -h per specificare il numero massimo di hop.
Formato di salita: Anche il formato di output del comando Linux Traceroute e del comando Windows Tracert è diverso. Su Linux, il comando Traceroute visualizza l'indirizzo IP e il tempo di risposta di ciascun nodo sul percorso, mentre su Windows, il comando Tracert visualizza il nome di ciascun nodo e il tempo di risposta.
funzionalità avanzate: Il comando Linux Traceroute è in grado di eseguire traceback di percorso più avanzati, come traceback di percorso inverso e traceback multipercorso. Inoltre, il comando Traceroute di Linux è più personalizzabile rispetto al comando Tracert di Windows, consentendo all'utente di specificare la porta e la dimensione del pacchetto.
In sintesi, sebbene entrambi i comandi siano simili nelle funzionalità di base, esistono alcune differenze significative nella sintassi dei comandi, nelle opzioni dei comandi, nel formato di output e nelle funzionalità avanzate.
Esempio del comando in Linux
traceroute google.com
1 192.168.1.1 (192.168.1.1) 1.107 ms 1.237 ms 1.353 ms
2 10.255.255.1 (10.255.255.1) 14.527 ms 14.622 ms 14.719 ms
3 172.16.1.1 (172.16.1.1) 25.817 ms 25.912 ms 26.005 ms
4 172.16.2.1 (172.16.2.1) 38.320 ms 38.414 ms 38.505 ms
5 203.208.222.125 (203.208.222.125) 38.601 ms 37.301 ms 37.392 ms
6 72.14.195.12 (72.14.195.12) 60.225 ms 60.318 ms 60.415 ms
7 108.170.247.65 (108.170.247.65) 61.424 ms 61.511 ms 61.605 ms
8 108.170.235.225 (108.170.235.225) 62.719 ms 62.814 ms 62.908 ms
9 108.170.232.193 (108.170.232.193) 63.016 ms 63.103 ms 63.197 ms
10 74.125.244.16 (74.125.244.16) 63.300 ms 63.386 ms 63.480 ms
11 172.253.50.138 (172.253.50.138) 64.685 ms 64.781 ms 64.877 ms
12 172.253.66.7 (172.253.66.7) 65.122 ms 65.217 ms 65.314 ms
13 172.253.50.246 (172.253.50.246) 66.493 ms 66.587 ms 66.680 ms
14 74.125.252.128 (74.125.252.128) 66.879 ms 66.965 ms 67.058 ms
15 216.58.214.142 (216.58.214.142) 67.252 ms 67.365 ms 67.454 ms
Esempio del comando in Windows
tracert google.com
Tracing route to google.com [172.217.12.142]
over a maximum of 30 hops:
1 1 ms 1 ms 1 ms 192.168.1.1
2 17 ms 17 ms 18 ms 10.255.255.1
3 27 ms 27 ms 27 ms 172.16.1.1
4 40 ms 40 ms 40 ms 172.16.2.1
5 38 ms 37 ms 37 ms 203.208.222.125
6 59 ms 59 ms 59 ms 108.170.247.65
7 61 ms 61 ms 61 ms 108.170.235.225
8 63 ms 63 ms 63 ms 108.170.232.193
9 64 ms 64 ms 64 ms 74.125.244.16
10 67 ms 67 ms 67 ms 172.253.50.138
11 67 ms 67 ms 67 ms 172.253.66.7
12 69 ms 69 ms 69 ms 172.253.50.246
13 66 ms 66 ms 66 ms 74.125.252.128
14 66 ms 66 ms 66 ms 216.58.214.142
Trace complete.
Che è migliore?
In generale, entrambi i comandi (traceroute
y tracert
) sono utili per individuare i problemi di rete e diagnosticare i problemi di connettività. La scelta di quale utilizzare dipenderà dai sistemi operativi e dalle preferenze personali.
Per quanto riguarda le caratteristiche specifiche, traceroute
su Linux offre più opzioni e funzionalità avanzate rispetto a tracert
su Windows, come il supporto per i protocolli UDP e TCP e la possibilità di personalizzare il timeout e il conteggio degli hop. Tuttavia, tracert
su Windows è più facile da usare e in alcuni casi può fornire informazioni più chiare e leggibili.
In sintesi, entrambi gli strumenti hanno i loro punti di forza e di debolezza e la scelta dell’uno o dell’altro dipenderà dall’uso specifico e dalle preferenze personali.