Traceroute oder Tracepath für Windows? (nicht tracert, afaik)

Was ich (auf einer Windows-Box) tun möchte, ist TCP an einem bestimmten Port zu verwenden tracerouteoder zu verwenden.tracepath

AFAIK Windows tracertverwendet NUR ICMP. Aber ist es möglich, dies auf tracerteine mir unbekannte Weise zu erreichen?

Traceroute

Unter Linux glaube ich, dass die folgenden zwei Optionen das erreichen würden, was ich will:

traceroute mail.yourserver.com -p25 -T

Die -p25Option weist es an, Port 25 als Zielport -Tzu verwenden, und die weist es an, TCP-Pakete anstelle von ICMP zu verwenden.

Spurpfad

tracepath 192.168.1.99/443

Sendet ein für Port 443 bestimmtes Paket an 192.168.1.99 und meldet Ihnen, bei welchem ​​Hop das Paket hängen geblieben ist.

Für Windows?

Kennt jemand einen Port von traceroute, oder tracepathein anderes Windows-Dienstprogramm, um dasselbe zu erreichen? Wenn es keine inhärente Windows-Lösung gibt, gibt es eine Lösung eines Drittanbieters?

Ich habe die Frage leicht geändert, da die Möglichkeit besteht, dass es in Windows Tracert eine undokumentierte Funktion gibt ... Auch wenn dies eine Frage zur Software ist, bin ich mir nicht sicher, ob Softwarerecs die bessere Wahl wäre, da dies ein sehr spezifischer Aspekt ist Software, die sich nur auf einen bestimmten Bereich der Vernetzung bezieht. Es ist jetzt eine Herausforderung, da es so viele "Stapel"-Sites gibt, zu wissen, wo man Themen posten kann, die in viele Kategorien fallen könnten; Beispielsweise könnte Superuser auch eine mögliche Posting-Site sein.
@JensLink Ich werde das später heute testen, würden Sie bitte eine Antwort geben, damit ich es als richtig markieren kann (wenn es so funktioniert, wie ich es brauche).
FYI-Links zu anderen Websites sind keine Antworten

Antworten (2)

Ich habe endlich eine Lösung dafür gefunden, die für mich gut funktioniert:

TCP Traceroute on Windows And Linux
http://simulatedsimian.github.io/tracetcp.html
https://github.com/SimulatedSimian/tracetcp/releases

und für eine Beschreibung, wie es funktioniert:

https://support.logicboxes.com/helpdesk/index.php?/Knowledgebase/Article/View/11/37/using-tcp-traceroute-on-windows-and-linux

Und hier ist eine Kopie eines der einfachen/typischen Verwendungsbeispiele:

C:\tracetcp>tracetcp www.redhat.com:443 -h 3

Tracing route to 184.85.48.112 [a184-85-48-112.deploy.akamaitechnologies.com] on
port 443
Over a maximum of 30 hops.
3 32 ms 50 ms 56 ms 172.20.16.65
4 34 ms 14 ms 33 ms 172.26.16.1
5 503 ms 14 ms 68 ms 172.20.7.34
6 43 ms 170 ms 25 ms 203.117.35.9
7 28 ms 86 ms 26 ms 203.117.34.2
8 216 ms 168 ms 99 ms 203.117.34.14
9 * * * Request timed out.
10 Destination Reached in 211 ms. Connection established to 184.85.48.112
Trace Complete.

Sie MÜSSEN die winpcap-Bibliothek installieren, damit diese Version funktioniert. tracetcp wurde mit Version 3.* und 4.* dieser Bibliothek getestet. (Weil WinXP SP2 Raw-Sockets entfernt hat.) Aber wenn Sie ein Netzwerk-Typ sind, haben Sie wahrscheinlich sowieso bereits Winpcap und Wireshark installiert.

Ich denke, das wird nicht funktionieren, weil TCP-Ports L4 sind, die nicht für das Routing verwendet werden. Die Router in der Mitte des Weges müssen nur bis L3 nachsehen, um zu entscheiden, wohin dieses Paket gesendet werden soll (es sei denn, sie verwenden PBR), aber wenn das Paket für sie bestimmt war, wird höchstwahrscheinlich eine ACL gelöscht viele Pakete, die für sie bestimmt sind (22TCP, 23TCP, 80TCP usw.), wenn sie nicht die richtige, vertrauenswürdige Quelle haben. Auch alle nicht verwendeten Ports werden wahrscheinlich durch diese ACL geschützt.

Ich weiß, dass wir ACLs auf Eingangsschnittstellen haben, aber ich denke, die meisten Unternehmen, die Transit betreiben, würden ihre Router nicht mit ACL überlasten, da sie möglicherweise Pakete von überall empfangen. Wenn Sie mit dem Internet zu einem ISP verbunden sind, der keinen Transit durchführt, und sich Ihr Server bei demselben ISP am selben Standort befindet, kann dieser Test für Sie sinnvoll sein.

tcptraceroute funktioniert im Grunde genauso wie jede andere Variante von Traceroute. Siehe en.wikipedia.org/wiki/Traceroute für Details.