Article / 文章中心

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

发布时间:2021-01-15 点击数:365

如果您有其他问题,可以联系北京志远天辰阿里云代理商,为您提供一对一专业全面的技术服务,同时新/老阿里云会员,均可享受我公司代理商价格欢迎咨询 欢迎咨询.gif


 概述

本文主要介绍在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,确认服务端同步回显。如果服务端未同步回显,则说明端口连通性异常。
  •