traceroute TCP équivalent pour Windows [fermé]

23

J'essaie de déterminer où la connectivité à un hôte externe utilisant un port TCP spécifique est bloquée. Traceroute pour Windows utilise uniquement ICMP, et telnet me dira seulement que le port est bloqué et non où. Quelqu'un connaît-il un utilitaire Windows similaire à traceroute qui y parviendra?

Lloyd Mangram
la source

Réponses:

29

Vous pouvez utiliser nmap 5.0avec --tracerouteoption. Vous obtiendrez également un portscan gratuitement :).

Si vous souhaitez tester un port spécifique, vous pouvez utiliser l' -p portoption. (Vous devez également utiliser l'option -Pn pour que nmap n'essaie pas de faire une sonde ICMP régulière en premier). Ceci est un exemple:

$ 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)

Si vous êtes intéressé par un outil graphique, vous pouvez utiliser zenmap , qui affiche également des cartes de topologie basées sur la sortie de traceroute.

cartes de topologie

chmeee
la source
2
Lorsque j'exécute la commande ci-dessus sur mon, nmapcela fait en fait un traceroute ICMP. Également bizarre, vous spécifiez le port 8000, mais nmaputilisez le port 443 pour le traceroute réel. Pourquoi?
kojiro
2

Scapy a une fonction d'itinéraire de trace TCP décrite dans ce tutoriel Scapy . Scapy peut être installé sous Windows, voici les instructions . Je ne suis pas certain que sa fonction soit disponible dans la version Windows, mais c'est possible.

Cela vous aidera à connaître python, ou au moins une certaine connaissance de la programmation OO (orientée objet), mais vous n'en aurez peut-être pas besoin juste pour suivre le tutoriel auquel j'ai lié. Scapy suppose également que vous avez une compréhension de base du modèle OSI, je pense.

Kyle Brandt
la source
remarque: la fonction Scapy traceroute est disponible sur Windows.
Maxwell
1

Je ne sais pas si nmap --traceroute fonctionnera correctement sous Windows car Windows ignore les demandes de TTL non standard. Je reçois juste un chemin à deux sauts de forme étrange vers quelque chose qui est à environ 10-20 sauts de distance:

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

Je posterai si je trouve quelque chose qui convient à un but qui n'a pas déjà été mentionné.

James L
la source
Un renifleur devrait vous dire ce qui se passe. Je suppose que certains routeurs / passerelles intermédiaires essaient d'être intelligents et gèrent les paquets de manière inhabituelle.
ivan_pozdeev
1

Vous pouvez trouver un certain nombre de liens googleing.

Une implémentation Linux sur traceroute pouvant utiliser le protocole TCP et ayant remplacé l'ancienne implémentation sur de nombreuses distributions. Utilisez simplement le -Tdrapeau sur ces systèmes.

Sur Mac -P TCPfait le travail.

Historiquement, un certain nombre d'outils ad hoc ont été développés; parmi les autres références, il y a un simple script python qui peut être utilisé spécifiant également le port que l'on doit sonder: tcptraceroute.py tandis que l'un des plus populaires est tcptraceroute par Michael Toren.

drAlberT
la source
1
La page Wikipedia a été supprimée.
Scott Munro
supprimé ici aussi, tnx
drAlberT
Le lien vers tcptraceroute par Michael Toren est mort
Tanner
0

Je ne connais aucun outil traceroute pour Windows qui vous permet de définir le port. Le protocole ICMP est conçu pour ce type de diagnostic de route; d'autres protocoles ne le sont pas. Il est probable que, si l'hôte lui-même refuse la connexion, quelque part le long de l'itinéraire se trouve un pare-feu qui supprime simplement les paquets sans retourner aucune autre information à la source, auquel cas aucun utilitaire ne fonctionnerait pour votre situation.

Vous pouvez essayer de lancer Wireshark , puis de téléphoner sur le port de votre choix au système cible. Vous pourriez (mais ne le ferez probablement pas) récupérer un TCP_RESETou DEST_UNREACHou quelque chose de la part du pare-feu qui bloque les communications, mais cela est peu probable. En fin de compte, vous devez parler aux personnes du réseau qui peuvent suivre l'itinéraire et consulter les règles des pare-feu en cours de route.

Bonne chance.

quux
la source
0

Il existe quelques alternatives Windows au LFT préféré UNIX .

Malheureusement, aucun de ceux qui me viennent à l'esprit n'est gratuit. Mais ils sont plutôt bons.

Malheureusement, si vous utilisez WinXP SP2 ~, vous risquez de rencontrer des problèmes pour effectuer un tracage TCP. Cela est dû à la suppression du support de socket brut.

Dan Carley
la source