Wie bekomme ich Traceroute auf Cygwin?


14

Die Implementierung von traceroute (tracert) unterscheidet sich unter Windows und Unix. Ich wollte beides mit Wireshark vergleichen. Ich bin jetzt auf Windows 7 und wollte die Implementierung von Unix Traceroute schnell erreichen.

Meine erste Idee war, es mit MSYS oder Cygwin zu bekommen. Ich habe Cygwin mit überprüften "inetutils *" - Paketen installiert, aber es gibt keinen traceroute-Befehl und die entsprechende ausführbare Datei in /usr/bin/.

Ich habe auch versucht, mit der Cygwin- Paketsuche nach "traceroute" zu suchen, und diese Teilzeichenfolge in der Liste der "zsh" -Dateien gefunden. Ich habe zsh installiert und versucht tracerouteund tcptracerouteohne Ergebnisse.

Welches Paket sollte ich für die Installation von Traceroute überprüfen und gibt es Traceroute für Cygwin überhaupt?

Antworten:


14

tracerouteDie Cygwin-Pakete enthalten keine , da tracertsie unter Windows immer verfügbar sind. Unter https://cygwin.com/ml/cygwin/2005-12/msg00443.html finden Sie einen Thread, in dem dies kurz erläutert wird. Sie können versuchen, einen Unix-Stil tracerouteaus dem Quellcode von Cygwin zu kompilieren.

Wenn Sie den Windows-Stil tracertmit dem Unix-Stil vergleichen möchten, tracerouteempfehle ich die Ausführung tracerouteunter Unix oder Linux, da die Netzwerkstapel unterschiedlich sind. Wenn Sie also einen Unix-Stil tracerouteunter Windows ausführen, erhalten Sie nicht die gleichen Netzwerkspuren wie tracerouteunter Unix.


3
pinggibt es auch unter Windows, ist aber für Cygwin verfügbar :) Wie auch immer, danke für deine Antwort. Vielleicht werde ich versuchen, traceroutefür Cygwin manuell zu kompilieren .
Kirill

4
Guter Punkt, und traceroutebietet ein paar mehr Funktionen als tracert.
Stephen Kitt

4

Wie Stephen Kitt sagte, gibt es für Cygwin keine gebrauchsfertigen Traceroute-Binärdateien. Deshalb habe ich versucht, es selbst zu kompilieren.

Ich kann sehen, dass es eine moderne Traceroute gibt, aber aus der folgenden Beschreibung geht hervor, dass sie nicht mit alten Linux-Kerneln verwendet werden kann.

Ich konnte die alte Implementierung kompilieren , aber es funktioniert so, als ob ICMP-Antworten auf TTL nicht überschritten werden (statt der Ergebnisse gibt es Sternchen):

1 * * *

2 * * *

Möglicherweise sind einige Korrekturen erforderlich, um mit Cygwin arbeiten zu können. Aus diesem Grund gibt es kein Traceroute-Paket für Cygwin.

Ich habe bei Wireshark nachgefragt und festgestellt, dass UDP-Testpakete verwendet werden und die entsprechenden ICMP-Antworten korrekt übermittelt werden. Ich möchte feststellen, dass diese alte Traceroute langsam wie Wins tracert("Abfragen" von Knoten nacheinander) funktioniert . Moderne Traceroute liefert sehr schnell Ergebnisse.


2

Ich konnte einen Port von mtrin Cygwin32 mit den folgenden Anweisungen erstellen:

https://github.com/traviscross/mtr/

MTR ist ein alternatives Open-Source-Traceroute-Tool. Es hat sowohl eine GUI- als auch eine Ncurses-Textschnittstelle. Es ist nicht gerade die klassische Traceroute, aber ich mag es mehr.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.