
Kombiniert traceroute und ping zu einem einzigen Netzwerkdiagnosewerkzeug, das Pfade testet, Latenz misst und Pro-Hop-Statistiken meldet, um Konnektivitätsprobleme zu beheben.
mtr vereint die Funktionalität der Programme 'traceroute' und 'ping' in einem einzigen Netzwerkdiagnosewerkzeug.
Wenn mtr startet, untersucht es die Netzwerkverbindung zwischen dem Host, auf dem mtr läuft, und einem benutzerdefinierten Ziel-Host. Es sendet Sonden an das Ziel mit sukzessive größeren Time-to-Live-Werten und nutzt die Antworten von dazwischenliegenden Routern, um den Pfad zu entdecken und zu messen. Dabei gibt es fortlaufende Statistiken für jeden Hop aus.
Zwischenrouter können so konfiguriert sein, dass sie diese ICMP-Antworten nie senden oder sie ratenbegrenzen, daher bedeutet ein scheinbarer Verlust an einem Zwischenhop nicht immer, dass weitergeleiteter Datenverkehr an diesem Punkt verloren geht.
mtr wird unter der GNU General Public License Version 2 vertrieben. Einzelheiten finden Sie in der Datei COPYING.
Wenn Sie dies aus einem Tarball bauen, ist das Kompilieren von mtr so einfach wie:
./configure && make
Bitte beachten Sie, dass dies sich auf die Tarballs von https://www.bitwizard.nl/mtr/files/ bezieht und nicht auf die Tarballs, die GitHub erstellen kann.
(früher gab es ein Makefile in der Distribution, das ./configure für Sie ausführte
und dann make mit dem generierten Makefile erneut ausführte, aber dies hat etwas
Bitrot erlitten. Es funktionierte nicht gut mit git.)
Wenn Sie aus dem Git-Repository bauen, müssen Sie Folgendes ausführen:
./bootstrap.sh && ./configure && make
Wenn die Kompilierung erfolgreich aussieht, können Sie mtr testen mit
sudo ./mtr <host>
(füllen Sie einen Hostnamen oder eine IP-Adresse ein, wo <host> steht) oder
fahren Sie sofort mit der Installation fort:
make install
Beachten Sie, dass mtr-packet suid-root sein muss, da es Zugriff auf rohe IP-Sockets benötigt. Siehe SECURITY für Sicherheitsinformationen.
Ältere Versionen erforderten früher einen nicht vorhandenen Pfad zu GTK für einen
korrekten Build einer Nicht-GTK-Version, während GTK installiert war. Dies ist
nicht mehr notwendig. ./configure --without-gtk sollte jetzt funktionieren.
Wenn nicht, versuchen Sie make WITHOUT_X11=YES als make-Schritt.
Unter Solaris müssen Sie GNU make zum Bauen verwenden.
(Verwenden Sie gmake anstelle von make.)
Unter Solaris (und möglicherweise anderen Systemen) kann die "gtk"-Bibliothek
in einem Verzeichnis installiert sein, in das der dynamische Linker nicht schaut,
wenn eine Binärdatei setuid ist. Roman Shterenzon berichtet, dass
-Wl,-rpath=/usr/lib
in der Befehlszeile funktioniert, wenn Sie GNU LD verwenden. Er sagt mir, dass
Sie Pech haben, wenn Sie den Sun LD verwenden. Das stimmt nicht ganz, da
Sie die gtk-Bibliotheken nach /usr/lib verschieben können, anstatt sie in
/usr/local/lib zu lassen. (Wenn der Linker Ihnen sagt, dass /usr/local/lib
nicht vertrauenswürdig ist und /usr/lib vertrauenswürdig ist, und Sie den gtk-libs
genug vertrauen, um sie in einem setuid-Programm zu haben, dann spricht etwas dafür,
sie in das "vertrauenswürdige" Verzeichnis zu verschieben.)
Das Bauen unter MacOS sollte keine besonderen Schritte erfordern.
Die Verwendung von mtr unter Windows erfordert das Windows-Subsystem für Linux (WSL).
Informationen zur Installation von WSL mit Ubuntu-Distribution (Standard) finden Sie unter
How to install Linux on Windows with WSL.
Nach Abschluss des anfänglichen Prozesses, so einfach wie:
sudo apt-get -y install mtr
Wenn Sie die traditionelle Methode bevorzugen. Besorgen Sie sich Cygwin, siehe https://cygwin.com/install.html.
Führen Sie dann erneut die setup-x86.exe (oder setup-x86_64.exe bei
Verwendung von 64-Bit-Cygwin) mit den folgenden Argumenten aus,
welche die für das Bauen erforderlichen Pakete installieren:
setup-x86.exe --package-manager --wait --packages automake,pkg-config,make,gcc-core,libncurses-devel,libjansson-devel
Bauen wie unter Unix:
./bootstrap.sh && ./configure && make
Installieren Sie schließlich die erstellten Binärdateien:
make install
mtr wird jetzt auf GitHub gehostet. https://github.com/traviscross/mtr
Siehe die mtr-Webseite unter http://www.BitWizard.nl/mtr/
Fehlerberichte und Feature-Anfragen sollten an das GitHub-Bug-Tracking-System gesendet werden.
Patches können durch Klonen des GitHub-Repositorys und Einreichen eines Pull-Requests oder per E-Mail an mich gesendet werden. Bitte verwenden Sie unified diffs. Normalerweise ist der Diff etwas unordentlich, also überprüfen Sie bitte, dass der Diff sauber ist und nicht zu viele Ihrer lokalen Änderungen enthält (zum Beispiel möchte/benötige ich das "configure"-Skript nicht, das /Ihr/ automake für Sie erstellt hat).
(Früher gab es eine Mailingliste, aber sie bekam nur Spam. Also als der Server aktualisiert wurde, starb die Mailingliste.)