Home > Article > Operation and Maintenance > How to deal with port availability detection when ping is possible but the port is unreachable
本篇文章给大家带来的内容是关于如何处理能 ping 通但端口不通时端口可用性探测,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
能 ping 通但端口不通时端口可用性探测说明
端口可用性探测工具介绍
不同的操作系统,端口可用性探测所使用的工具也有所不同。
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 -? 获取和查看。
端口可用性探测步骤
通常情况下,您可以:
根据前文所述,使用对应工具对目标地址的目标端口进行可用性探测。
排查分析探测结果,确定异常节点。
通过 ip.taobao.com 等 IP 地址查询网站获取相应节点归属运营商及网络。
或者提交工单,阿里云将为您向相关运营商反馈问题。
链路测试结果分析简述
异常节点判定方法:如果相关端口在某一跳被阻断,则其后各跳均不会返回数据。据此就可以判定出异常节点。
示例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 跳之后就没有数据返回。说明相应端口在该节点被阻断。
示例结论:因为该节点经查询归属北京移动,所以您需要自行排查,或者提交工单做进一步排查分析。
The above is the detailed content of How to deal with port availability detection when ping is possible but the port is unreachable. For more information, please follow other related articles on the PHP Chinese website!