/https://www.ilsoftware.it/app/uploads/2025/02/traceroute-linux-funzionamento.jpg)
Il comando Traceroute è uno strumento di diagnostica fondamentale per analizzare il percorso che un pacchetto dati compie attraverso una rete fino a raggiungere la destinazione. Può essere utilizzato su tutti i principali sistemi operativi, con la differenza che il Traceroute Linux offre una gamma più ampia di opzioni e parametri che possono essere utilizzati per personalizzare il comportamento del comando.
Utilizzato prevalentemente da professionisti IT, amministratori di sistema e da tecnici di rete, Traceroute aiuta a identificare e risolvere i problemi di connessione, monitorando i “salti” tra i vari dispositivi intermedi, noti come router, che partecipano al trasferimento dati e che si trovano lungo il percorso tra il dispositivo di origine della richiesta e la destinazione.
Come abbiamo visto nell’articolo su cos’è Traceroute, il sistema di destinazione non necessariamente è un sito Web. Il sito Web, infatti, è a sua volta ospitato su un server che risponde alle richieste di connessione in arrivo. Traceroute accetta in ingresso un indirizzo IP oppure un indirizzo mnemonico (come google.it o www.ilsoftware.it) quindi stabilisce il percorso che i pacchetti dati compiono per arrivare alla destinazione specificata.
Come funziona Traceroute su Linux
Un esempio vale più di mille parole: aprendo la finestra del terminale Linux quindi digitando quanto segue, si ottiene la lista dei router attraversati prima di raggiungere il server di Google:
traceroute google.it
I vari gruppi di numeri decimali separati da punti (indirizzi a 32 bit) sono indirizzi IPv4: ciascuno di essi rappresenta un sistema o un router attraverso il quale il pacchetto dati transita prima di giungere a destinazione. L’indirizzo IP che si legge al primo punto (1) è quello della macchina locale sulla quale si è lanciato il comando Traceroute da Linux.
In alternativa (o in aggiunta) a questi indirizzi, si possono trovare otto gruppi di numeri esadecimali separati da due punti (indirizzi a 128 bit): si tratta di indirizzi IPv6 ma a parte la forma con cui si presentano, il concetto non cambia.
Di default, Traceroute Linux cerca sempre di risolvere gli indirizzi IP in nomi di dominio. Per evitare questo comportamento si può aggiungere al comando l’opzione -n
. Va tenuto presente che la risoluzione dei domini aiuta a capire quali sistemi si attraversano prima di arrivare a destinazione.
Opzioni utili per lanciare un Traceroute su Linux che sia efficace
Alcuni firewall tendono a bloccare le richieste inviate da Traceroute, e ciò a seconda della loro specifica configurazione. In caso di problemi, si può provare a usare pacchetti ICMP (Internet Control Message Protocol) anziché UDP, usando la sintassi che segue:
traceroute -I google.com
Per impostazione predefinita, inoltre, Traceroute su Linux invia 3 pacchetti di test per ogni “hop”, ossia a ciascun router incontrato sul tragitto. Per aumentarne il numero, ad esempio, a 5 si può usare il comando seguente:
traceroute -q 5 google.it
MTR, un’alternativa ancora più potente al Traceroute Linux
Su Linux è possibile utilizzare un altro potente strumento di diagnostica che combina le funzionalità di Traceroute e Ping in un’unica interfaccia. MTR fornisce informazioni dettagliate sul percorso dei pacchetti attraverso una rete, insieme a misurazioni in tempo reale della latenza e dell’eventuale perdita di pacchetti.
Il programma invia pacchetti dati a una destinazione specificata e raccoglie informazioni su ciascun router (o “salto”) rilevato lungo il percorso. A differenza del Traceroute tradizionale, MTR continua a inviare pacchetti anche dopo il primo tentativo, consentendo di monitorare continuamente le prestazioni della rete.
Le informazioni sono presentate in un formato tabellare che mostra il tempo medio di risposta e la percentuale di perdita di pacchetti per ogni salto.
Proprio grazie a MTR, è possibile rilevare problemi di rete che non sono costanti nel tempo ma che si manifestano a tratti. L’output dell’applicazione è utile anche come prova per dimostrare che esiste davvero un problema sulla rete, ad esempio nel caso in cui un operatore continuasse a negarne l’esistenza.
MTR supporta inoltre vari protocolli (ICMP, UDP e TCP), consentendo agli utenti di adattarsi alle diverse condizioni di rete e alle configurazioni dei firewall.
Come usare MTR per il Traceroute su Linux
Per accedere all’uso di MTR, basta digitare – nella finestra del terminale Linux – il comando seguente:
mtr google.it
Ovviamente, al posto di google.it si può specificare l’indirizzo mnemonico o l’indirizzo IP del sistema che si vuole raggiungere.
La colonna Loss indica la percentuale dei pacchetti persi. Nell’immagine non esiste un problema: semplicemente il router evidenziato in rosso si rifiuta di rispondere alle richieste diagnostiche.
Le colonne successive, invece, mostrano il numero di pacchetti inviati, e i tempi in millisecondi (ms) rilevati per la risposta ottenuta da ciascun router (ultimo, medio, migliore e peggiore). L’ultima colonna esprime il valore della deviazione standard.
Un comando come quello seguente permette di lanciare una verifica sulla porta TCP 443:
mtr -T -P 443 google.it
Con un clic su Copy to clipboard è possibile copiare negli appunti il singolo indirizzo IP. Usando uno strumento WHOIS, previo inserimento del singolo indirizzo IP, è possibile controllare a quale rete appartiene.
Come installare Traceroute e MTR
Generalmente, sia Traceroute che MTR non risultano preinstallati nelle varie distribuzioni Linux. Le modalità di caricamento dei rispettivi pacchetti dipendono dalla distro in uso e dal package manager.
Ad ogni modo si può installare Traceroute con i seguenti comandi (sostituire mbr
a traceroute
per installare l’utilità MBR):
- Ubuntu/Debian:
sudo apt update && sudo apt install traceroute
- CentOS/RHEL:
sudo yum install traceroute
- Arch:
sudo pacman -S traceroute
Conclusioni
Traceroute è un strumento potente e versatile che consente di diagnosticare problemi di rete e comporre una mappa dettagliata dei percorsi di rete.
Le informazioni che fornisce sono fondamentali per la risoluzione di problemi complessi, soprattutto in reti estese o in scenari di diagnostica avanzata. Utilizzare Traceroute in modo efficiente può risparmiare tempo e risorse quando si cerca di risolvere anomalie di rete o migliorare le prestazioni generali della rete stessa.