Answers:
您可以使用nmap 5.0
with --traceroute
选项。您还将免费获得portcan :)。
如果要测试特定端口,可以使用-p port
option。(您还应该使用-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)
如果您对图形工具感兴趣,可以使用zenmap,它还基于traceroute输出显示拓扑图。
我不确定nmap --traceroute是否可以在Windows上正常运行,因为Windows忽略了对非标准TTL的请求。我只是得到一条奇怪的两跳路径,到达了大约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
如果我发现尚未提及的适用目的,我会回发。
您可以找到许多Google搜索链接。
在traceroute上的Linux实现可以使用TCP协议,并且已经取代了许多发行版上的旧实现。-T
在这些系统上简单地使用标志。
在Mac上可以-P TCP
完成这项工作。
历史上已经开发了许多临时工具。在其他参考资料中,有一个简单的python脚本可用于指定需要探测的端口:tcptraceroute.py,而最受欢迎的端口之一是Michael Toren的tcptraceroute。
尝试NETSCAN http://www.softperfect.com/products/networkscanner它不仅可以扫描一台设备,而且还可以检查IP地址和端口范围,而且它是免费的,它的功能还更多。
nmap
,实际上执行了ICMP跟踪路由。同样奇怪的是,您指定端口8000,但nmap
将端口443用于实际的路由跟踪。为什么?