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

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

概述

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

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

以下是测试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服务是单线程,以当前目录为根目录为例,一次只能接受一个请求用于测试。测试完成后按Ctrl+C键终止进程。

测试UDP端口连通性

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

  1. 执行以下命令,检查系统是否安装了nc程序。
    which nc
    若系统返回类似如下,则说明已安装nc程序。
    /usr/bin/nc
    说明:如果nc未被安装,根据操作系统的不同, 使用yum或apt-get等工具进行安装。
  2. 在服务端执行以下命令,监听某个需要测试的端口,比如1234。
    nc -uvlp 1234
    系统返回类似如下。
    Ncat: Version 6.40 ( http://nmap.org/ncat )
    Ncat: Listening on :::1234
    Ncat: Listening on 0.0.0.0:1234
  3. 在客户端上执行以下命令,连接服务端需要测试的端口,比如1234。
    nc -u [$Host] 1234
  4. 连接成功后,在客户端上输入测试字符,比如abc,确认服务端同步回显。如果服务端未同步回显,则说明端口连通性异常。

适用于

  • 云服务器 ECS