Linux 下 金沙官网线上TCP/UDP 端口测试及验证方法

TCP端口的连通性

方法一:TCP协议是面向连接的,可以直接通过telnet命令连接

telent ip port 

➜  packages telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

方法二:使用nc(netcat)命令

nc -vz ip port 

➜  packages nc -vz 127.0.0.1 80
found 0 associations
found 1 connections:
     1: flags=82<CONNECTED,PREFERRED>
    outif lo0
    src 127.0.0.1 port 49594
    dst 127.0.0.1 port 80
    rank info not available
    TCP aux info available

Connection to 127.0.0.1 port 80 [tcp/http] succeeded!

➜  packages nc -zv 127.0.0.1 8080
nc: connectx to 127.0.0.1 port 8080 (tcp) failed: Connection refused

nc相关option:

        -u      UDP mode
        -v      Verbose
        -z      Zero-I/O mode [used for scanning]

Linux 下 TCP/UDP 端口测试及验证方法说明

在云服务器 ECS Linux 系统中,有时需要在系统中测试端口的连通性,以便确认系统的TCP、UDP协议栈是否可以正常运行。本文对此进行简要说明。

UDP端口的连通性

UDP协议是无连接的,不需要握手建立连接,数据发送后,server端也不会返回确认信息。

方法一:使用nc(netcat)命令

nc -uvz ip port

➜  packages nc -uvz 127.0.0.1 80
found 0 associations
found 1 connections:
     1: flags=82<CONNECTED,PREFERRED>
    outif (null)
    src 127.0.0.1 port 54152
    dst 127.0.0.1 port 80
    rank info not available

Connection to 127.0.0.1 port 80 [udp/http] succeeded!

总结:nc(netcat)是专门用于TCP/UDP连接和监听的命令,建议大家直接使用nc。

TCP端口测试

使用 telnet 测试现有监听端口连通性

可以使用 Linux 自带的 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

另外, Windows 环境下,成功连接后,会出现一个新窗口(有回显或无任何回显)。 如果连接失败,会显示类似如下信息:

C:>telnet 127.0.0.1 1111
正在连接127.0.0.1...无法打开到主机的连接。 在端口 1111: 连接失败

创建新的监听端口测试

可以使用 python 自带的 Web 服务器用于临时创建新的监听端口进行测试。用法如下:

python -m SimpleHTTPServer <所需端口号>

示例输出:

[root@centos]# python -m SimpleHTTPServer 123
Serving HTTP on 0.0.0.0 port 123 ...
说明:启动的 Web 服务是单线程的,以当前目录为根目录,一次只能接受一个请求,一般只用来测试。测试完成按 Ctr +C 终止进程即可。

UDP端口测试

telnet 仅能用于 TCP 协议的端口测试,若要对UDP端口进行测试,可以使用 nc 程序。

使用如下指令确认系统内是否已经安装了 nc:

which nc

本文由金沙官网线上发布于操作系统,转载请注明出处:Linux 下 金沙官网线上TCP/UDP 端口测试及验证方法

您可能还会对下面的文章感兴趣: