Linux测试TCP-UDP端口连通性

测试TCP端口连通性

请根据待测试端口的状态选择合适的方案。

方法一:使用Telnet测试已有监听端口

  1. 远程连接到Linux系统实例。
  2. 执行以下命令,使用Telnet工具测试端口的连通性。
    例如,测试服务器 121.11.XX.XX1234 端口:
    sudo telnet 121.11.XX.XX 1234

    若成功连接,系统会返回类似如下信息(不同Linux系统显示可能略有差异,但出现 Connected to ... 即表示连接成功):

    Trying 121.11.XX.XX...
    Connected to 121.11.XX.XX.
    Escape character is '^]'.

方法二:创建新的监听端口测试

需要准备两台实例:一台作为服务端,一台作为客户端。测试的是服务端的端口连通性。

  1. 远程连接到服务端Linux实例。
  2. 确认是否安装Python及版本:
    python -V
  3. 使用Python内置Web服务器临时创建监听端口。
    例如,使用Python 3.x监听 1234 端口:
    sudo python3 -m http.server 1234

    系统会返回:

    Serving HTTP on 0.0.0.0 port 1234 ...
  4. 在客户端执行以下命令测试服务端端口连通性。
    例如,测试服务端 121.11.XX.XX1234 端口:
    sudo telnet 121.11.XX.XX 1234

    连接成功时会显示类似信息:

    Trying 121.11.XX.XX...
    Connected to 121.11.XX.XX.
    Escape character is '^]'.

测试UDP端口连通性

需要准备两台实例:一台作为服务端,一台作为客户端。测试的是服务端的端口连通性。

  1. 分别在服务端和客户端检查是否安装 nc 程序:

    which nc

    若返回类似 /usr/bin/nc,则说明已安装。

  2. 在服务端执行以下命令监听某个需要测试的端口。
    例如,监听 3333 端口:

    sudo nc -uvlp 3333

    成功监听后会显示:

    Ncat: Version 7.92 ( https://nmap.org/ncat )
    Ncat: Listening on :::3333
    Ncat: Listening on 0.0.0.0:3333
  3. 在客户端执行以下命令连接服务端端口。
    例如,连接服务端 111.22.XX.XX3333 端口:

    sudo nc -u 111.22.XX.XX 3333

    连接成功后,在客户端输入测试字符(例如 test),如果服务端同步收到该数据,则说明UDP端口连通性正常。