<a></a>
<a>客户端访问目标服务器,如果能 ping 通但业务端口却无法访问,则可能是链路中相关节点对相应端口做了拦截所致。本文先介绍了端口可用性探测的相关工具,然后对测试结果分析及测试步骤进行了简要说明。</a>
根据操作系统类型的不同,端口可用性探测所使用的工具也有所不同。分别简要介绍如下。
<a href="https://help.aliyun.com/knowledge_detail/40572.html#linux%20%e7%8e%af%e5%a2%83%e4%b8%8b%e7%ab%af%e5%8f%a3%e5%8f%af%e7%94%a8%e6%80%a7%e6%8e%a2%e6%b5%8b%e5%b7%a5%e5%85%b7%e4%bb%8b%e7%bb%8d">linux 环境下端口可用性探测工具介绍</a>
<a href="https://help.aliyun.com/knowledge_detail/40572.html#windows%20%e7%8e%af%e5%a2%83%e4%b8%8b%e7%ab%af%e5%8f%a3%e5%8f%af%e7%94%a8%e6%80%a7%e6%8e%a2%e6%b5%8b%e5%b7%a5%e5%85%b7%e4%bb%8b%e7%bb%8d">windows 环境下端口可用性探测工具介绍</a>
linux 环境下,通常可以通过 traceroute 来进行端口可用性探测。traceroute 是几乎所有 linux 发行版本预装的网络测试工具,用于跟踪 internet 协议(ip)数据包传送到目标地址时经过的路径。
traceroute 通过发送 tcp 数据包向目标端口进行探测,以检测源到目标服务器的整个链路上相应端口的连通性情况。
traceroute 端口可用性探测常见用法如下:
示例输出:
参数说明:
-n 直接使用ip地址而非主机名称(禁用 dns 反查)。
-t 通过 tcp 探测。
-p 探测目标端口号。
host 目标服务器域名或 ip。
更多关于 traceroute 的用法,可以参阅其 man 帮助。
windows 环境下,可通过 tracetcp 进行端口可用性探测。
tracetcp 同样通过发送 tcp 数据包进行链路探测,以分析是否有链路中间节点对目标端口做了阻断。
下载:
安装:
使用方法:
tracetcp 的常见用法如下:
更多参数说明,可以通过 tracetcp -? 获取和查看。
端口可用性探测的判断方法相对简单,如果相关端口在某一跳被阻断,则其后各跳均不会有返回数据。据此就可以判断出异常节点。然后根据相应节点信息,查询归属运营商进行问题反馈。
tracetcp 示例数据:
上述探测数据,目标端口在第 3 跳之后就没有任何数据返回。说明相应端口在该节点被阻断。而该节点为内网 ip,所以推断是本地网络相关安全策略所致,需要联系本地网络管理部门做进一步排查分析。
traceroute 示例数据:
通常情况下,端口可用性探测的测试步骤如下:
参阅前文说明,通过相关工具对目标地址的目标端口进行可用性探测。
排查分析探测结果,确定异常节点。