业务端口无法访问可能是端口拦截造成的。当客户端访问目标服务器时,如果能 ping 通,业务端口却无法访问,可能是链路中的相关节点拦截了端口所致。您可以利用端口可用性探测的相关工具,执行测试步骤,验证是否有节点拦截了端口。
本文导航:
Windows 环境下端口可用性探测工具介绍
端口可用性探测步骤
链路测试结果分析简述
工单提交须知
端口可用性探测工具介绍
不同的操作系统,端口可用性探测所使用的工具也有所不同。
Linux 环境下端口可用性探测工具介绍
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 环境下端口可用性探测工具介绍
Windows 环境下,您可通过 tracetcp 进行端口可用性探测。
tracetcp 同样通过发送 TCP 数据包进行链路探测,以分析是否有链路中间节点对目标端口做了阻断。
下载安装
tracetcp 的使用依赖于 WinPcap library,因此,您需要前往官网下载。
点击此处前往官网下载最新版 tracetcp。或者,您也可以下载附件 v1.0.2 版 tracetcp(可能并非最新版)。
将下载的 tracetcp 相关文件直接解压到 C:\Windows 目录。(如果解压到非系统目录,则需要手工修改系统环境变量,以确保指令可以直接调用)
使用方法
双击打开 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
- 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,可能是本地网络相关安全策略所致,您需要联系本地网络管理人员做进一步排查分析。
示例2
- [root@mycentos ~]# traceroute -T -p 135 www.baidu.com
- traceroute to www.baidu.com (111.13.100.92), 30 hops max, 60 byte packets
- 1 * * *
- 2 192.168.17.20 (192.168.17.20) 4.115 ms 4.397 ms 4.679 ms
- 3 111.1.20.41 (111.1.20.41) 901.921 ms 902.762 ms 902.338 ms
- 4 111.1.34.197 (111.1.34.197) 2.187 ms 1.392 ms 2.266 ms
- 5 * * *
- 6 221.183.19.169 (221.183.19.169) 1.688 ms 1.465 ms 1.475 ms
- 7 221.183.11.105 (221.183.11.105) 27.729 ms 27.708 ms 27.636 ms
- 8 * * *
- 9 * * *
- 10 111.13.98.249 (111.13.98.249) 28.922 ms 111.13.98.253 (111.13.98.253) 29.030 ms 28.916 ms
- 11 111.13.108.22 (111.13.108.22) 29.169 ms 28.893 ms 111.13.108.33 (111.13.108.33) 30.986 ms
- 12 * * *
- 13 * * *
- 14 * * *
- 15 * * *
- 16 * * *
- 17 * * *
- 18 * * *
- 19 * * *
- 20 * * *
- 21 * * *
- 22 * * *
- 23 * * *
- 24 * * *
- 25 * * *
- 26 * * *
- 27 * * *
- 28 * * *
- 29 * * *
- 30 * * *
上述探测数据中,目标端口在第 11 跳之后就没有数据返回。说明相应端口在该节点被阻断。
示例结论:因为该节点经查询归属北京移动,所以您需要自行排查,或者
提交工单做进一步排查分析。
工单提交须知
如果问题还未解决,请记录端口可用性探测步骤测试结果,然后
提交工单联系阿里云。