traceroute TCP相当于Windows

我正在尝试确定使用特定TCP端口连接到外部主机的位置是否被阻止。 Traceroute for Windows只使用ICMP,而telnet只会告诉我端口阻塞,而不是在哪里。 有谁知道类似于traceroute的Windows实用程序,将实现这一目标?

你可以使用nmap 5.0--traceroute选项。 你也将得到免费的portscan :)。

如果你想testing一个特定的端口,你可以使用-p port选项。 (您还应该使用-Pn选项,以便nmap不会尝试首先执行常规ICMP探测)。 这是一个例子:

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

如果您对graphics工具感兴趣,则可以使用zenmap ,它也会根据traceroute输出显示拓扑图。

拓扑图

Scapy有一个在这个Scapy教程中描述的tcp跟踪路由function。 Scapy可以安装在Windows上, 这里是说明 。 我不太肯定他的function在Windows版本中可用,但可能是这样。

这将有助于了解python,或者至less了解面向对象(OO)编程方面的一些知识,但是您可能不需要仅仅遵循我所链接的教程。 Scapy也假设你对OSI模型有基本的了解。

我不确定nmap –traceroute是否能在Windows上正常工作,因为Windows忽略了非标准TTL的请求。 我刚刚得到一个形状奇怪的两跳path,大约有10-20跳:

 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 

如果我find适合尚未提及的目的的东西,我会回复。

你可以find一些链接谷歌。

traceroute上的Linux实现能够使用TCP协议,并在许多发行版中取代了旧的实现。 在这些系统上简单地使用-T标志。

在Mac -P TCP完成这项工作。

历史上已经开发了一些特别的工具。 在其他参考文献中还有一个简单的python脚本,可以用来指定需要探测的端口: tcptraceroute.py,而其中最受欢迎的是Michael Toren的tcptraceroute 。

我不知道任何可以让你定义端口的窗口traceroute工具。 ICMP协议是为这种路由诊断而devise的; 其他协议不是。 如果主机本身不拒绝连接,沿途的某个地方可能是一个防火墙,它只是丢弃数据包而不会将任何其他信息返回给源,在这种情况下,没有任何实用工具可以适用于您的情况。

您可以尝试启动Wireshark ,然后将您所需的端口telnet到目标系统。 你可能 (但可能不会)得到一个TCP_RESETDEST_UNREACH或从防火墙阻止通信的东西,但这是不太可能的。 最终,您需要与可以追踪路线的networking人员交谈,并且一路看看防火墙的规则集。

祝你好运。

UNIX最喜爱的LFT有几种Windows替代scheme。

不幸的是,那些想到的人都是免费的。 但是他们很好。

  • path分析器Pro
  • 平绘者

不幸的是,如果您使用的是WinXP SP2〜,那么执行任何TCP tracerouting可能会遇到困难。 这是由于删除原始套接字支持。