traceroute 是几乎所有 Linux 发行版本预装的网络测试工具,用于跟踪 Internet 协议(IP)数据包传送到目标地址时经过的路径。您可以通过 traceroute 工具进行端口可用性探测。
traceroute 通过发送 TCP 数据包向目标端口进行探测,以检测从数据包源到目标服务器的整个链路上相应端口的连通性情况。traceroute 端口可用性探测常见用法如下:
traceroute [-n] -T -p <目标端口号> Host
示例
[root@centos~]# traceroute -n -T -p 22 223.5.5.5
traceroute to 223.5.5.5 (223.5.5.5), 30 hops max, 60 byte packets
1 58.96.171.249 0.431 ms 0.538 ms 0.702 ms
2 10.88.16.29 0.997 ms 1.030 ms 10.88.16.21 1.309 ms
3 58.96.160.246 0.393 ms 0.390 ms 58.96.160.250 0.423 ms
4 63.218.56.237 1.110 ms 202.123.74.122 0.440 ms 0.440 ms
5 63.223.15.90 1.744 ms 63.218.56.237 1.076 ms 1.232 ms
6 63.223.15.158 1.832 ms 63.223.15.90 1.663 ms 63.223.15.74 1.616 ms
7 202.97.122.113 2.776 ms 63.223.15.154 1.585 ms 1.606 ms
8 * * 202.97.122.113 2.537 ms
9 202.97.61.237 6.856 ms * *
10 * * *
11 * * *
12 * * 119.147.220.222 8.738 ms
13 119.147.220.230 8.248 ms 8.231 ms *
14 * 42.120.242.230 32.305 ms 42.120.242.226 29.877 ms
15 42.120.242.234 11.950 ms 42.120.242.222 23.853 ms 42.120.242.218 29.831 ms
16 42.120.253.2 11.007 ms 42.120.242.234 13.615 ms 42.120.253.2 11.956 ms
17 42.120.253.14 21.578 ms 42.120.253.2 13.236 ms *
18 * * 223.5.5.5 12.070 ms !X
参数说明
-n 直接使用 IP 地址而非主机名称(禁用 DNS 反查)。
-T 通过 TCP 探测。
-p 探测目标端口号。
Host 目标服务器域名或 IP。
更多关于 traceroute 的用法,可以通过man帮助查阅。
Windows 环境下,您可通过 tracetcp 进行端口可用性探测。
tracetcp 同样通过发送 TCP 数据包进行链路探测,以分析是否有链路中间节点对目标端口做了阻断。
1、下载安装
tracetcp 的使用依赖于 WinPcap library,因此,需要前往官网下载。
前往官网下载最新版 tracetcp。也可以下载附件 v1.0.2 版 tracetcp(可能并非最新版)
将下载的 tracetcp 相关文件直接解压到 C:\Windows 目录。(如果解压到非系统目录,则需要手工修改系统环境变量,以确保指令可以直接调用)
2、使用方法
双击打开 tracetcp 应用程序,tracetcp 的常见用法如下:
tracetcp <目标服务器域名或 IP>:<待探测端口号>
示例
C:\ >tracetcp www.aliyun.com:80
Tracing route to 140.205.63.8 on port 80
Over a maximum of 30 hops.
1 3 ms 4 ms 3 ms 30.9.176.1
2 13 ms 3 ms 4 ms 10.64.200.33
3 3 ms 3 ms 2 ms 10.64.1.1
4 4 ms 3 ms 3 ms 42.120.74.4
5 5 ms 4 ms 7 ms 42.120.253.233
6 6 ms 5 ms 7 ms 42.120.247.97
7 8 ms 8 ms 8 ms 42.120.247.97
8 10 ms 10 ms 8 ms 123.56.34.246
9 9 ms 9 ms 11 ms 42.120.243.117
10 * * * Request timed out.
11 Destination Reached in 8 ms. Connection established to 140.205.63.8
Trace Complete.
关于更多 tracetcp 参数说明,您可以通过 tracetcp -? 获取和查看。
通常情况下,您可以:
1、根据前文所述,使用对应工具对目标地址的目标端口进行可用性探测。
排查分析探测结果,确定异常节点。
2、通过 ip.taobao.com 等 IP 地址查询网站获取相应节点归属运营商及网络。
异常节点判定方法:如果相关端口在某一跳被阻断,则其后各跳均不会返回数据。据此就可以判定出异常节点。
示例
C:\>tracetcp www.aliyun.com:135
Tracing route to 115.239.210.27 on port 135
Over a maximum of 30 hops.
1 3 ms 3 ms 3 ms 30.9.176.1
2 4 ms 3 ms 3 ms 10.64.200.33
3 3 ms 3 ms 3 ms 10.64.1.1
4 * * * Request timed out.
5 * * * Request timed out.
6 * * * Request timed out.
7 * * * Request timed out.
8 * * * Request timed out.
9 * * * Request timed out.
10 * * * Request timed out.
11 * * * Request timed out.
12 * * * Request timed out.
13 * * * Request timed out.
14 * * * Request timed out.
15 * * * Request timed out.
16 * * * Request timed out.
17 * * * Request timed out.
18 * * * Request timed out.
19 * * * Request timed out.
20 * * * Request timed out.
21 * * * Request timed out.
22 * * * Request timed out.
23 * * * Request timed out.
24 * * * Request timed out.
25 * * * Request timed out.
26 * * * Request timed out.
27 * * * Request timed out.
28 * * * Request timed out.
29 * * * Request timed out.
30 * * * Request timed out.
Trace Complete.
上述探测数据中,目标端口在第 3 跳之后就没有数据返回。说明相应端口在该节点被阻断。
示例结论:因为该节点为内网 IP,可能是本地网络相关安全策略所致,您需要联系本地网络管理人员做进一步排查分析。
原文转自:https://help.aliyun.com/knowledge_detail/40572.html