Linux系统的ECS实例中TCP/UDP端口测试及验证方法说明

Linux系统的ECS实例中TCP/UDP端口测试及验证方法说明

更新时间:2019-09-10 11:26:37

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

 

概述

本文主要介绍在Linux系统的ECS实例中,如何测试TCP和UDP端口的连通性。

 

详细信息

以下是测试TCP和UDP端口连通性的详细内容。

 

测试TCP端口连通性

以下是使用Telnet工具和Python自带的Web服务器以测试端口连通性的方法介绍。

 

Telnet测试端口连通性

在ECS实例中,执行如下命令,使用telnet工具测试端口的连通性。

telnet [$Host] [$Port]
注:
  • [$Host]是目标服务器IP地址。
  • [$Port]是待测试端口号。
  • 可执行如下命令,测试22端口连通性。
    telnet 127.0.0.1 22
    若成功连接,会显示类似如下信息。不同Linux系统环境下,显示可能有所不同,但通常若包含 "Connected to ..." 信息,则说明连接成功。
    Trying 127.0.0.1... 
    Connected to 127.0.0.1.
    Escape character is '^]'.
    SSH-2.0-OpenSSH_5.3

 

创建新的监听端口测试

以下是使用Python自带的Web服务器临时创建新的监听端口进行测试的详细内容。执行如下命令,测试端口。

python -m SimpleHTTPServer [$Port]

系统显示类似如下。

Serving HTTP on 0.0.0.0 port 123 ...

注:启动的Web服务是单线程,以当前目录为根目录为例,一次只能接受一个请求用于测试。测试完成后按 Ctr + C 终止进程。

 

测试UDP端口连通性

以下是通过nc程序测试UDP端口连通性的详细内容。

  1. 执行如下命令,检查系统是否安装了nc程序。
    which nc
    若系统返回类似如下,则说明已安装nc程序。
    /usr/bin/nc
    注:如果nc未被安装,根据操作系统的不同, 使用yum或apt-get等工具进行安装。
  2. 执行如下命令,测试目标服务器UDP端口的连通性。
    nc -vuz [$Host]
    系统返回类似如下。
    Connection to 192.xx.xx.1 25 port [udp/smtp] succeeded!
    注:
    • -v:详细输出。若用两个-v可得到更详细的内容。
    • -u:使用UDP传输协议。
    • -z:让nc只扫描端口,不发送任何的数据 。
    • 若返回结果中包含 "succeeded" 字样,则说明相应的端口访问正常。如果无任何返回信息,则说明相应端口访问失败。

 

适用于

  • 云服务器 ECS