WinMTR

WinMTR ist die Windows-Portierung des Linux-/Unix-Werkzeuges "mtr", was für Matt's traceroute steht. Letztendlich werden die Befehle "ping" und "tracert" in einem grafischen leistungsfähigen Werkzeug für die effiziente Fehlersuche und schnelle Analyse von Netzwerk- oder Internet-Problemen für Microsoft Windows vereint.

Screenshot von WinMTRWinMTR (die Abkürzung steht für Windows Matt's traceroute) ist die Portierung des beliebten und häufig genutzten Linux-/Unix-Werkzeuges mtr auf Microsoft Windows. Letztendlich handelt es sich um ein Diagnose-Werkzeug für Netzwerke, da es die Befehle ping und tracert kombiniert. Die allererste Version von WinMTR wurde von Vasile Laurentiu Stanimir im Juli 2000 unter der GNU General Public License, Version 2, kurz GNU GPLv2, veröffentlicht und im Januar 2002 fand das Projekt sein neues Zuhause auf dem Portal SourceForge. Das sofort im Anschluss veröffentlichte WinMTR 0.8 war die erste und zugleich letzte auf SourceForge veröffentlichte Version für die nächsten mehr als 9 Jahre, denn die Entwicklung wurde nicht mehr weiter vorangetrieben.

Dabei muss berücksichtigt werden, dass WinMTR 0.8 generell auf allen 32 Bit-Versionen von Microsoft Windows lauffähig war bzw. ist und die wichtigen Funktionalitäten ebenfalls implementiert waren - also soweit vollständig. Im Jahr 2010 kaufte dann Dragos Manac, der CEO von Appnor MSP, seinem langjährigen Freund, Vasile Laurentiu Stanimir, die Rechte an dem eingeschlafenen WinMTR-Projekt ab. Und WinMTR wurde scheinbar das Lieblingsprojekt von Dragos Manac, welcher für die Weiterentwicklung einen Programmierer einstellte und zwei Ziele verfolgte: WinMTR sollte auf neueren Windows-Versionen mit normalen Benutzerrechten lauffähig sein (da mit Microsoft Windows Vista die Benutzerkontensteuerung eingeführt worden ist) und eine weitere Version für 64 Bit-Systeme, wie Microsoft Windows 7 x64, sollte entstehen.

Am 24. Dezember 2010 wurde dann WinMTR 0.9 veröffentlicht - mit den geplanten Features, allerdings leider als proprietäre Freeware. Dies wiederum hatte zur Folge, dass auf Slashdot, einer Mischung aus Nachrichtenticker und Weblog für technische Neuigkeiten, der Artikel "Hosting Company Appears To Be Violating the GPL" entstand, welcher die Neulizenzierung rechtlich in Frage stellte und für eine große Diskussion bei den Lesern sorgte. Kurze Zeit später, am 10. Januar 2011 wurde schließlich WinMTR 0.91 unter der GNU General Public License, Version 2, kurz GNU GPLv2, veröffentlicht. In seinem Weblog schreibt Dragos Manac über die ganze Problematik und dass WinMTR weiterhin der GNU GPLv2 unterliegen soll bzw. wird.

Die aktuellste Version von WinMTR kann im Download-Bereich auf SourceForge als ZIP-Archiv heruntergeladen werden. Das knapp 2 MB große ZIP-Archiv enthält jeweils eine *.exe-Datei für 32 und 64 Bit. Für 32 Bit-Systeme ist die WinMTR.exe etwa 1,7 MB groß, für 64 Bit-Systeme sind es knapp 2,4 MB. Da WinMTR in die PortableApps aufgenommen worden ist, kann es natürlich auch dort heruntergeladen werden und ermöglicht somit den Benutzern, es auf einem USB-Speicherstick mit sich herumzutragen. Selbstverständlich kann die entsprechende WinMTR.exe eigenhändig auf einen USB-Speicherstick kopiert und anschließend flexibel verwendet werden.

Technisch ist WinMTR in der gängigen Programmiersprache C++ programmiert und wird üblicherweise mit dem Visual Studio 2012 (auch als Version 11 bekannt) aus dem Hause Microsoft kompiliert. Im Unterschied dazu ist mtr für Linux bzw. Unix vollständig in der Programmiersprache C entwickelt; auch konnte ich persönlich nicht erkennen, dass WinMTR programmiertechnisch in irgendeiner Art und Weise auf mtr basieren würde. Dies dürfte vor allem daran liegen, dass der Netzwerk-Stack von Linux/Unix und Microsoft Windows sehr unterschiedlich sind. Die grundlegende Idee für WinMTR sowie die generelle optische Gestaltung stammen natürlich zweifelsfrei von mtr.

Nach dem Start bietet WinMTR eine grafische Oberfläche, welche die Eingabe eines Servernamens bzw. einer IPv4-Adresse zulässt. Im unteren Teil des Fensters werden, wie bei tracert auch, die einzelnen Hops auf dem Weg zum Zielrechner angezeigt. In den Spalten daneben werden die Ergebnisse von ping festgehalten - unterteilt in die besten, die durchschnittlichen, die schlechtesten und die aktuellsten Paketlaufzeiten. Der Paketverlust in Prozent errechnet sich entsprechend aus eventuell verlorengegangenen ICMP-Paketen. Im Unterschied zum Linux-/Unix-Werkzeug mtr wird jedoch ausschließlich ICMP (mittels Echo-Anfrage und -Antwort) unterstützt, doch kein UDP. Und auch wenn der Anfrage-Intervall, die Paketgröße sowie die Anzahl der maximalen Hops im Bezug auf die ICMP-Pakete konfiguriert werden können, so gibt es bei WinMTR deutlich weniger Optionen und Konfigurationsmöglichkeiten als bei mtr. Zum geringeren Funktionsumfang gehört ebenfalls, dass IPv6 derzeit leider nicht unterstützt wird. Dennoch sollten die vorhandenen Funktionalitäten für Endbenutzer und die meisten Administratoren völlig ausreichen.

Zur besseren Auswertung kann die Tabelle im unteren Teil des WinMTR-Fensters per Mausklick als Text oder HTML in die Zwischenanlage kopiert oder aber in eine *.txt- oder *.html-Datei exportiert werden. Damit lassen sich die erlangten Informationen leicht und effizient weiterverarbeiten, also z.B. per E-Mail versenden oder an einen Betreuer eines betroffenen Hops übermitteln.

Eine relativ unbekannte Funktionalität, die leider in den meisten Artikeln über WinMTR unterschlagen wird, ist die Möglichkeit, den gewünschten Zielrechner als Argument anzugeben, beispielsweise WinMTR.exe example.net. Dies eignet sich für das Skripting in Batchdateien wie *.bat oder Desktop-Verknüpfungen wie *.lnk, um beispielsweise bestimmte problematische Verbindungen bzw. Zielserver immer schnell zur Hand zu haben. Alle unterstützten Optionen können über den Parameter --help ausgegeben werden. Wird die Datei WinMTR.exe auf einem Windows-System mit 32 Bit nach C:\Windows\System32 kopiert, so kann der Aufruf an der Windows-Shell (z.B. cmd.exe oder ein Batchskript) sogar ohne Pfadangabe erfolgen.