使用ping命令正常但端口不通时的端口可用性探测说明

使用ping命令正常但端口不通时的端口可用性探测说明

更新时间:2019-07-25 19:04:00

免责声明: 本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

 

概述

本文主要介绍使用ping命令正常但端口不通时如何进行端口可用性探测。

 

详细信息

当客户端访问目标服务器时,如果能ping通,但业务端口无法访问,可能是链路中的相关节点拦截了端口所致。您可以参考如下内容,利用端口可用性探测的相关工具进行测试,验证是否有节点拦截了端口。

 

端口可用性探测工具的介绍

不同的操作系统,端口可用性探测所使用的工具有所不同。此处分别介绍Linux和Windows系统中的端口可用性探测工具。

 

Linux系统

traceroute是几乎所有Linux发行版本预装的网络测试工具,用于跟踪Internet协议(IP)数据包传送到目标地址时经过的路径。traceroute通过发送TCP数据包向目标端口进行探测,以检测从数据包源到目标服务器的整个链路上相应端口的连通性情况。该工具的介绍如下。

 

使用方法

traceroute用于端口可用性探测的常用命令如下。

traceroute [-n] -T -p [$Port] [$Host]

注:

  • -n:直接使用IP地址而非主机名称(禁用DNS反查)。
  • -T:通过TCP探测。
  • -p:设置探测的端口号。
  • [$Port]:需要探测的端口号,比如"80"。
  • [$Host]:需要探测的目标服务器地址,比如“10.10.1.1”。
  • 更多关于traceroute的用法,您可以通过man命令查阅。

 

示例

traceroute的示例命令和返回结果如下。

[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 5X.X.X.X 0.431 ms 0.538 ms 0.702 ms
2 1X.X.X.X 0.997 ms 1.030 ms 10.88.16.21 1.309 ms
3 5X.X.1X.2X 0.393 ms 0.390 ms 58.96.160.250 0.423 ms
4 6X.X.X.X 1.110 ms 202.123.74.122 0.440 ms 0.440 ms
5 6X.X.1X.X 1.744 ms 63.218.56.237 1.076 ms 1.232 ms
6 63.2X.1X.1X 1.832 ms 63.223.15.90 1.663 ms 63.223.15.74 1.616 ms
7 20X.97.1X.1X 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

 

Windows系统

在Windows系统中,您可通过tracetcp进行端口可用性探测。tracetcp同样通过发送TCP数据包进行链路探测,以分析链路是否存在中间节点对目标端口做了阻断。该工具的介绍如下。

 

下载安装
  1. tracetcp的使用依赖于WinPcap library。因此,您需要前往官网下载WinPcap library。
  2. 前往tracetcp官网下载最新版tracetcp。或者,您也可以单击此处,下载V1.0.2版本的tracetcp(可能并非最新版)。
  3. 将下载的tracetcp相关文件直接解压到C:\Windows目录。
    注:您也可以解压到非系统目录,但是需要手工修改系统环境变量,以确保指令可以直接调用。

 

使用方法

双击打开tracetcp应用程序,tracetcp的常见用法如下。

tracetcp [$IP]:[$Port]

注:

  • [$IP]指目标服务器的IP地址或者域名。
  • [$Port]指需要探测的目标端口。
  • 关于更多tracetcp参数说明,您可以通过tracetcp -?命令查看帮助。

 

示例

tracetcp的示例命令和返回结果如下。

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 3X.X.X.X
2 13 ms 3 ms 4 ms 1X.X.X.X
3 3 ms 3 ms 2 ms 10.X.X.X
4 4 ms 3 ms 3 ms 4X.X.X.X
5 5 ms 4 ms 7 ms 5X.X.X.X
6 6 ms 5 ms 7 ms 6X.X.X.X
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.

 

端口可用性探测步骤

通常情况下,您可以参考如下步骤进行探测。

  1. 根据上文所述,使用对应工具对目标服务器和端口进行可用性探测。
  2. 排查分析探测结果,确认问题根源。如果相关端口在某一跳被阻断,且其后各跳均不会返回数据。据此就可以判定出异常节点。
  3.  如果确实存在异常节点,您可以参考如下两种方式进行解决。
    • 通过ip.taobao.com等IP地质查询网站获取相应节点的归属运营商及网络。
    • 或者您也可以提交工单,请阿里云技术支持协助您向相关运营商反馈问题。
      注:提交工单时,请一并提交端口可用性的探测结果。

 

探测结果的案例分析

此处介绍两个探测结果的案例,案例中包括探测结果和分析。

 

案例一

探测结果如下,目标端口在第3跳之后就没有数据返回。

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 1X.X.X.X
2 4 ms 3 ms 3 ms 2X.X.X.X
3 3 ms 3 ms 3 ms 3X.X.X.X
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.
Trace Complete.

 

分析

因为该节点为内网IP,可能是本地网络相关安全策略所致,需要联系本地网络管理人员做进一步排查分析。

 

案例二

探测结果如下,目标端口在第11跳之后就没有数据返回。

[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 1X.X.X.X (1X.X.X.X) 4.115 ms 4.397 ms 4.679 ms
3 2X.X.X.X (2X.X.X.X) 901.921 ms 902.762 ms 902.338 ms
4 3X.X.X.X (3X.X.X.X) 2.187 ms 1.392 ms 2.266 ms
5 * * *
6 5X.X.X.X (5X.X.X.X) 1.688 ms 1.465 ms 1.475 ms
7 6X.X.X.X (6X.X.X.X) 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 * * *

 

分析

因为该节点经查询后归属北京移动,需要您自行向运营商反馈,或者提交工单做进一步排查分析。

 

适用于

  • 云服务器 ECS