前言
有的软件是通过UDP协议来连接的,当出现软件连不上时,首先需要排除是否是端口不通。这时候需要借助nc工具来测试。
安装
为了测试UDP端口是否打开并连通,需要在服务端和客户端都安装nc工具。
Centos
yum install -y nc
安装后输入nc --version
如果正确显示版本号,则说明安装成功。
windows
下载netcat 1.11:https://eternallybored.org/misc/netcat/
如果访问不了,可以点击这里下载。
下载后解压,将nc.exe
和nc64.exe
拷贝到C:\Windows\System32
目录下即可。
使用
服务端
服务端执行以下命令,用于开启一个6111的UDP端口,这个端口可以自定义。
nc -ul 6111
客户端
客户端执行以下命令,用于连接到服务器的指定UDP端口,需要将下面的<server ip>
改为你的服务端IP地址
nc -u <server ip> 6111
查看是否连通
客户端输入nc -u <server ip> 6111
命令后,任意按一些字符并按回车键发送这些字符,观察服务端是否按顺序接收打印出了这些字符,如果打印了,则说明连接成功。
客户端发送数据:
服务端接收数据:
调试
如果没有通,首先看看服务器是否开启了端口,可以通过firewall-cmd --list-all
命令查看。
打开指定的UDP端口
firewall-cmd --zone=public --add-port 6111/udp && firewall-cmd --zone=public --add-masquerade
关闭指定的UDP端口
ffirewall-cmd --zone=public --remove-port 6111/udp && firewall-cmd --zone=public --remove-masquerade
安全组设置
如果使用的是云服务器,还要看看安全组中是否打开: