文档首页/ 弹性云服务器 ECS/ 最佳实践/ 云服务器运维与监控/ Linux系统中TCP/UDP端口测试方法
更新时间:2026-04-22 GMT+08:00
分享

Linux系统中TCP/UDP端口测试方法

应用场景

本文主要用于介绍如何在Linux操作系统的实例中测试TCP、UDP端口的连通性,以便在异常场景下排查网络是否正常。

测试TCP端口连通性

根据端口状态选择合适的方案:

  • 待测试端口已被监听,可选方案一:使用Telnet测试已被监听端口
  • 待测试端口未被监听,可选方案二:创建新的监听端口测试

具体方案介绍如下。

方案一:使用Telnet测试已被监听端口

  1. 登录Linux操作系统的实例,详情参考Linux ECS登录方式概述
  2. 执行命令使用Telnet工具测试端口连通性,其中host_ip需要替换为目标节点的IP地址,port替换为待测试端口。

    sudo telnet <host_ip> <port>

    连接成功时回显如下,具体内容可能会因操作系统不同而有所不同,但一般都会包含Connected to xxx内容。

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

准备两台Linux实例,分别作为服务端和客户端,测试时测试服务端创建的端口的连通性,客户端负责协助测试。

  1. 登录Linux操作系统的实例,详情参考Linux ECS登录方式概述
  2. 在服务端执行命令确实节点的Python版本情况。

    python -V

    若提示报错说明未安装Python,需要部署Python,参考搭建Python环境

  3. 在服务端执行命令,使用Python自带的Web服务器临时创建新的监听端口,其中port替换为待测试端口。

    # Python 2.x版本执行
    sudo python -m SimpleHTTPServer <port>
    # Python 3.x版本执行
    sudo python3 -m http.server <port>

  4. 在客户端执行命令,使用Telnet测试服务端创建的端口,监听端口连通性。

    其中,host_ip替换为服务端IP地址,port替换为服务端创建的监听端口。

    sudo telnet <host_ip> <port>

    连接成功时回显如下,具体内容可能会因操作系统不同而有所不同,但一般都会包含Connected to xxx内容。

    随意输入测试内容,如“test”,会提示页面报错,但可以在服务端看到关于输入的内容“test”的相关回显。

    客户端如下图:

    服务端如下图:

测试UDP端口连通性

准备两台Linux实例,分别作为服务端和客户端,测试时测试服务端创建的端口的连通性,客户端负责协助测试。

  1. 登录Linux操作系统的实例,详情参考Linux ECS登录方式概述
  2. 分别在客户端和服务端执行如下命令,检查是否安装nc程序

    which nc

    若回显如下说明已安装。

    若未安装可根据操作系统不同使用Yum或apt-get安装,以yum为例,执行以下命令安装

    sudo yum install -y nc

  3. 在服务端执行命令,创建需要监听的端口,其中port替换为待测试端口

    sudo nc -uvlp <port>

    其中,参数u指的是UDP协议,v代表打印详细连接信息,l代表监听模式,等待传入连接或数据包,p指定端口号。

    执行成功回显如下。

  4. 在客户端执行命令,连接服务端的待测试端口,其中host_ip需要替换为服务端的IP地址,port替换为待测试端口。

    sudo nc -u <host_ip> <port>

  5. 连接成功后,在客户端输入测试字符串“test”,观察服务端是否同步收到数据,如果同步收到数据说明端口连通性正常。

    客户端回显如下:

    服务端回显如下:

相关文档