Das Program My Traceroute (MTR) verbindet traceroute und ping zu einzigen Tool und ist ein praktischer Helfer zur Netzwerkdiagnose. Durch MTR erhält man einen schnellen Überblick an welcher Stelle im Netzwerk Verbindungsverluste auftreten beziehungsweise wo es Probleme gibt.
Funktionsweise
MTR prüft Router entlang des Weges zum Zielhost und limitiert dabei die Anzahl der Hops die individuelle Pakete durchlaufen. Dabei analysiert MTR die Antworten der Verfallszeit. Dieser Vorgang wird gleichmäßig wiederholt, meist sekündlich, und die Antwortzeit der Hops protokolliert. Damit bekommt man schnell Ergebnisse wo Paketverluste auftreten. MTR nutzt dafür ICMP ECHO Requests und ermittelt die Daten in Echtzeit.
Praktisches Beispiel
Damit man sieht wie die Ausgabe von MTR ausschaut und was man daraus ablesen kann, hier als Beispiel einmal ein Test der Domain netzhappen.de vom lokalen Netzwerk aus. Dabei als erstes die Ausgabe der Resultate als “Report”, das heißt als zusammengefassten Überblick.
$ mtr --report -c 10 netzhappen.de
HOST: snoopy Loss% Snt Last Avg Best Wrst StDev
1. 192.168.1.1 0.0% 10 1.0 1.0 0.9 1.4 0.1
2. 217.0.116.7 0.0% 10 52.3 52.1 51.0 54.6 1.0
3. 217.0.64.98 0.0% 10 52.6 52.3 51.4 53.5 0.7
4. 62.156.138.178 0.0% 10 62.9 63.8 62.1 71.4 2.7
5. ae-32-52.ebr2.Berlin1.Level3 0.0% 10 68.9 68.2 63.8 74.0 3.3
6. ae-4-4.car2.Munich1.Level3.n 0.0% 10 232.2 82.2 64.3 232.2 52.7
7. 62.140.24.26 0.0% 10 64.6 65.4 64.3 67.0 1.0
8. GigE-0-1.gate.ispgateway.de 60.0% 10 68.1 67.5 67.2 68.1 0.4
9. dgws08s12da.ispgateway.de 0.0% 10 66.2 66.5 65.4 67.5 0.5
Die Option –report bringt MTR in den so genannten Report-Modus in dem MTR eine definierte Anzahl von Zyklen durchläuft und danach als Statistik ausgibt. Dieser Modus ist nützlich um Statistiken über die Netzwerkqualität zu erzeugen. Dabei muss beachtet werden, dass jede Instanz von MTR einen beträchtlichen Netzwerktraffic hervorrufen und Netzwerkperformance beeinflussen kann. Nun zum Ergebnis, vom Start zum Ziel sind es 9 Hops. Man sieht als Ausgangs-IP 192.168.1.1 des Routers vom lokalen Netzwerk. In diesem Überblick ist die 3 Spalte Loss% am interessantesten. Hier wird der Paketverlust in Prozent dargestellt. Wie man erkennt gibt es auf der Route zum Ziel keine Probleme. Nur beim Hop Nummer 8, offensichtlich am Eingangsrouter des Webhosters, wird ein Verlust von 60% angezeigt. Hierzu muss nun gesagt werden, dass ICMP ECHO Requests oftmals in den Netzwerken der Provider verworfen werden, wenn der entsprechende Router zu beschäftigt ist. Daher muss der Wert von 60% im vorliegenden Beispiel nicht zwangsweise korrekt sein.
Weitere Anzeigeoptionen
Im interaktiven Modus (Standard) werden die Daten in Echtzeit wiedergegeben und man bekommt ein Live-Zustand der Netzwerkroute angezeigt. Start man also MTR wie folgt:
$ mtr netzhappen.de
bekommt man ein ähnliches Bild wie im Report-Modus. Allerdings wird die Anzeige nun sekündlich aktualisiert. Durch Drücken der Taste “d”, kann zwischen verschiedenen Anzeigen gewechselt werden. Die erste weitere Ansicht zeigt nun anstatt der Zahlenwerte verschiedenen ASCII-Zeichen an. Ein “.” ist hierbei ein Zeichen das eine Antwort empfangen wurde. Ein “>” bedeutet, dass zwar eine Antwort zurückkam, diese aber eine lange Zeit brauchte. Ein “?” das keine Antwort erhalten wurde. Im obigen Beispiel sieht man nun meist “.”, einige wenige “>” und viele “?” beim Router mit dem 60% Paketverlust.
Drückt man ein weiteres Mal “d”, wechsel die Ansicht erneut und zeigt 6 Level der Round Trip Time (RTT) an, also die Zeit die ein Datenpaket benötigt um vom Start zum Zeil und wieder zurück braucht. In der Legende am unteren Rand sind die einzelnen Zeiten aufgeführt, die für die Anzeige von “.”, “>”, “a”, “b” oder “c” verwendet werden.
Scale: .:6 ms 1:12 ms 2:20 ms 3:37 ms a:80 ms b:121 ms c:194 ms
Hier Screenshots, welche die insgesamt 4 unterschiedlichen Sichten dokumentieren.
Zusätzliche Optionen
Ein Blick in die Hilfe zeigt uns noch weitere Optionen von MTR:
$ mtr --help
usage: mtr [-hvrctglspni46] [--help] [--version] [--report]
[--report-cycles=COUNT] [--curses] [--gtk]
[--raw] [--split] [--no-dns] [--address interface]
[--psize=bytes/-s bytes]
[--interval=SECONDS] HOSTNAME [PACKETSIZE]
Neben der Anzeige der Version (–version), der Intervallgröße oder dem Report-Modus (–report und -c COUNT), kann man noch die Paketgröße, die DNS-Auflösung oder verschiedene Benutzerinterfaces einstellen (–gtk, –curses), welche allerdings standardmäßig scheinbar nicht integriert sind und erst einkompiliert werden müssen.
Links
MTR (Projektseite)






Letzte Kommentare