
Combina traceroute e ping in un unico strumento diagnostico di rete che esplora i percorsi, misura la latenza e segnala statistiche per ogni salto per risolvere i problemi di connettività.
mtr combina le funzionalità dei programmi 'traceroute' e 'ping' in un unico strumento diagnostico di rete.
Quando mtr si avvia, esamina la connessione di rete tra l'host su cui mtr è in esecuzione e un host di destinazione specificato dall'utente. Invia probe alla destinazione con valori time-to-live via via maggiori, e utilizza le risposte dai router intermedi per scoprire e misurare il percorso. Mentre lo fa, stampa statistiche in tempo reale per ogni salto.
I router intermedi possono essere configurati per non inviare mai queste risposte ICMP, o possono limitarne la frequenza, quindi una perdita apparente in un salto intermedio non significa sempre che il traffico inoltrato stia andando perso in quel punto.
mtr è distribuito sotto la GNU General Public License versione 2. Consulta il file COPYING per i dettagli.
Se stai compilando da un tarball, compilare mtr è semplice come:
./configure && make
Si prega di notare che questo si riferisce ai tarball da https://www.bitwizard.nl/mtr/files/ e non ai tarball che github può produrre.
(In passato, c'era un Makefile nella distribuzione che eseguiva ./configure per te e poi lanciava make di nuovo con il Makefile generato, ma ha subito un po' di obsolescenza. Non funzionava bene con git.)
Se stai compilando dal repository git, dovrai eseguire:
./bootstrap.sh && ./configure && make
Quando sembra che la compilazione sia riuscita, puoi testare mtr con
sudo ./mtr <host>
(inserisci un nome host o un indirizzo IP dove c'è scritto <host>) o continua immediatamente con l'installazione:
make install
Nota che mtr-packet deve essere suid-root perché richiede l'accesso a socket IP grezzi. Vedi SECURITY per informazioni sulla sicurezza.
Le versioni precedenti richiedevano un percorso inesistente a GTK per una corretta compilazione di una versione non-gtk mentre GTK era installato. Questo non è più necessario. ./configure --without-gtk dovrebbe ora funzionare. Se non funziona, prova make WITHOUT_X11=YES come passo di make.
Su Solaris, dovrai usare GNU make per compilare. (Usa gmake invece di make.)
Su Solaris (e possibilmente altri sistemi) la libreria "gtk" può essere installata in una directory dove il linker dinamico rifiuta di guardare quando un binario è setuid. Roman Shterenzon riporta che aggiungere -Wl,-rpath=/usr/lib alla riga di comando funzionerà se stai usando gnu LD. Mi dice che sei sfortunato se usi il sun LD. Non è del tutto vero, visto che puoi spostare le librerie gtk in /usr/lib invece di lasciarle in /usr/local/lib. (quando ld ti dice che /usr/local/lib non è affidabile e /usr/lib lo è, e ti fidi abbastanza delle librerie gtk da volerle in un programma setuid, allora c'è qualcosa da dire sullo spostarle nella directory "affidabile".)
La compilazione su MacOS non dovrebbe richiedere passaggi speciali.
Usare mtr su Windows richiede il Sottosistema Windows per Linux (WSL).
Per installare WSL con distribuzione Ubuntu (predefinita), vedi
Come installare Linux su Windows con WSL.
Dopo aver completato il processo iniziale, semplice come:
sudo apt-get -y install mtr
Se preferisci il metodo tradizionale. Ottieni Cygwin, vedi https://cygwin.com/install.html.
Successivamente, esegui di nuovo setup-x86.exe di cygwin (o setup-x86_64.exe se stai usando cygwin a 64 bit) con i seguenti argomenti,
che installerà i pacchetti necessari per la compilazione:
setup-x86.exe --package-manager --wait --packages automake,pkg-config,make,gcc-core,libncurses-devel,libjansson-devel
Compila come su Unix:
./bootstrap.sh && ./configure && make
Infine, installa i binari compilati:
make install
mtr è ora ospitato su github. https://github.com/traviscross/mtr
Vedi la pagina web di mtr su http://www.BitWizard.nl/mtr/
I rapporti di bug e le richieste di funzionalità dovrebbero essere inviati al sistema di tracciamento dei bug di Github.
Le patch possono essere inviate clonando il repository Github e creando una pull request, o via email a me. Si prega di usare diff unificati. Di solito il diff è un po' disordinato, quindi per favore controlla che il diff sia pulito e non contenga troppa roba locale (per esempio, non voglio/ho bisogno dello script "configure" che il /tuo/ automake ha creato per te).
(C'era una mailing list, ma riceveva solo spam. Quindi quando il server è stato aggiornato, la mailing list è morta.)