Traceroute-TCP-Äquivalent für Windows [geschlossen]

23

Ich versuche festzustellen, wo die Konnektivität zu einem externen Host, der einen bestimmten TCP-Port verwendet, blockiert wird. Traceroute für Windows verwendet nur ICMP und Telnet wird mir nur sagen , dass die Port ist blockiert und kann nicht wo. Kennt jemand ein Windows-Dienstprogramm ähnlich wie Traceroute, mit dem dies erreicht werden kann?

Lloyd Mangram
quelle

Antworten:

29

Sie können nmap 5.0mit --tracerouteOption verwenden. Sie erhalten auch einen kostenlosen Portscan :).

Wenn Sie einen bestimmten Port testen möchten, können Sie die -p portOption verwenden. (Sie sollten auch die Option -Pn verwenden, damit nmap nicht zuerst versucht, einen regulären ICMP-Test durchzuführen.) Dies ist ein Beispiel:

$ sudo nmap -Pn --traceroute -p 8000 destination.com
PORT     STATE SERVICE
8000/tcp open  http-alt

TRACEROUTE (using port 443/tcp)
HOP RTT  ADDRESS
1   0.30 origin.com (192.168.100.1)
2   0.26 10.3.0.4
3   0.42 10.1.1.253
4   1.00 gateway1.com (33.33.33.33)
5   2.18 gateway2.com (66.66.66.66)
6   ...
7   1.96 gateway3.com (99.99.99.99)
8   ...
9   8.28 destination.com (111.111.111.111)

Wenn Sie an einem grafischen Tool interessiert sind, können Sie zenmap verwenden , das auch Topologiekarten basierend auf der Traceroute-Ausgabe anzeigt.

Topologiekarten

chmeee
quelle
2
Wenn ich den obigen Befehl auf meinem nmapComputer ausführe , wird tatsächlich eine ICMP-Traceroute ausgeführt. Seltsamerweise geben Sie Port 8000 an, verwenden aber nmapPort 443 für die eigentliche Traceroute. Warum?
Kojiro
2

Scapy verfügt über eine TCP-Trace- Routenfunktion, die in diesem Scapy-Lernprogramm beschrieben wird . Scapy kann unter Windows installiert werden. Hier sind die Anweisungen . Ich bin nicht sicher, dass seine Funktion in der Windows-Version verfügbar ist, aber es könnte sein.

Es wird hilfreich sein, Python oder zumindest einige Kenntnisse der objektorientierten Programmierung (OO) zu kennen, aber Sie brauchen es möglicherweise nicht nur, um dem Tutorial zu folgen, mit dem ich verknüpft bin. Scapy geht auch davon aus, dass Sie ein grundlegendes Verständnis des OSI-Modells haben, denke ich.

Kyle Brandt
quelle
Hinweis: Die Scapy-Traceroute-Funktion ist unter Windows verfügbar.
Maxwell
1

Ich bin nicht sicher, ob nmap --traceroute unter Windows ordnungsgemäß funktioniert, da Windows Anforderungen für nicht standardmäßige TTLs ignoriert. Ich erhalte nur einen seltsam geformten Pfad mit zwei Sprüngen zu etwas, das ungefähr 10 bis 20 Sprünge entfernt ist:

c:\Program Files (x86)\Nmap>nmap -Pn --traceroute -p 443 66.98.200.8

Starting Nmap 6.01 ( http://nmap.org ) at 2012-08-27 18:52 GMT Daylight Time
Nmap scan report for live.sagepay.com (195.170.169.9)
Host is up (0.21s latency).
PORT    STATE SERVICE
443/tcp open  https

TRACEROUTE (using port 443/tcp)
HOP RTT      ADDRESS
1   31.00 ms 192.168.192.2
2   62.00 ms 66.98.200.8

Ich melde mich zurück, wenn ich etwas Passendes finde, das noch nicht erwähnt wurde.

James L
quelle
Ein Schnüffler sollte Ihnen sagen, was passiert. Ich vermute, dass ein intermediärer Router / Gateway versucht, ein Smart-Aleck zu sein und die Pakete auf ungewöhnliche Weise behandelt.
ivan_pozdeev
1

Sie können eine Reihe von Links finden, die googleing sind.

Eine Linux-Implementierung auf Traceroute , die das TCP-Protokoll verwenden kann und die alte Implementierung auf vielen Distributionen ersetzt hat. Verwenden Sie einfach die -TFlagge auf diesen Systemen.

Auf dem Mac -P TCPerledigt der Job.

In der Vergangenheit wurde eine Reihe von Ad-hoc-Tools entwickelt. Unter den anderen Referenzen gibt es ein einfaches Python-Skript, das auch verwendet werden kann, um den zu prüfenden Port anzugeben : tcptraceroute.py, während tcptraceroute von Michael Toren eines der beliebtesten ist .

drAlberT
quelle
1
Die Wikipedia-Seite wurde gelöscht.
Scott Munro
auch hier gelöscht, tnx
drAlberT
Der Link zu tcptraceroute von Michael Toren ist tot
Tanner
0

Mir ist kein Traceroute-Tool für Windows bekannt, mit dem Sie den Port definieren können. Das ICMP-Protokoll ist für diese Art der Routendiagnose ausgelegt. andere protokolle sind das nicht. Wenn der Host selbst die Verbindung nicht ablehnt, befindet sich wahrscheinlich irgendwo auf der Route eine Firewall, die die Pakete einfach verwirft, ohne andere Informationen an die Quelle zurückzugeben. In diesem Fall würde kein Dienstprogramm für Ihre Situation funktionieren.

Sie können versuchen, Wireshark zu starten und dann den gewünschten Port für das Zielsystem zu konfigurieren. Sie könnten (aber wahrscheinlich nicht) bekommen TCP_RESEToder DEST_UNREACHoder etwas zurück von was auch immer Firewall blockiert Kommunikation, aber das ist unwahrscheinlich. Letztendlich müssen Sie mit den Netzwerkmitarbeitern sprechen, die die Route nachverfolgen und die Regelsätze der Firewalls auf dem Weg betrachten können.

Viel Glück.

quux
quelle
0

Es gibt einige Windows-Alternativen zum UNIX-Favoriten LFT .

Leider ist keiner von denen, die mir in den Sinn kommen, frei. Aber sie sind ziemlich gut.

Wenn Sie WinXP SP2 ~ verwenden, kann es leider zu Problemen beim Ausführen von TCP-Tracerouting kommen. Dies ist auf das Entfernen der Rohsockelunterstützung zurückzuführen.

Dan Carley
quelle