Was ich (auf einer Windows-Box) tun möchte, ist TCP an einem bestimmten Port zu verwenden traceroute
oder zu verwenden.tracepath
AFAIK Windows tracert
verwendet NUR ICMP. Aber ist es möglich, dies auf tracert
eine mir unbekannte Weise zu erreichen?
Unter Linux glaube ich, dass die folgenden zwei Optionen das erreichen würden, was ich will:
traceroute mail.yourserver.com -p25 -T
Die -p25
Option weist es an, Port 25 als Zielport -T
zu verwenden, und die weist es an, TCP-Pakete anstelle von ICMP zu verwenden.
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.
Kennt jemand einen Port von traceroute
, oder tracepath
ein 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 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.
Geo Baj
Jens Link
Geo Baj
Mike Pennington