核心概念
UDP 是一种 无连接 协议。与打电话(TCP)不同,它更像是寄明信片(UDP)。你只管寄出去,但默认不会收到任何确认。因此,要测试 UDP 端口,最可靠的方法是:在目标端口上运行一个监听服务,然后从外部发送一条“明信片”(数据),并确认监听服务确实收到了它。
准备工作
- 服务器端(被测试方):需要接收数据的设备,我们称之为 A 机。
- 客户端(测试方):用于发送数据的设备,我们称之为 B 机。
- 工具:确保两台设备上都安装了
netcat(nc)。
操作步骤
步骤一: 再服务端(A 机)启动监听服务
nc -ulv -k -p 41643
命令行参数详解:
-u:指定使用 UDP 协议。-l:表示 Listen(监听)模式,作为服务器运行。-v:Verbose 模式,显示更详细的连接信息。-k:Keep-open,这是 核心选项。它让nc在完成一次通信后不会退出,而是继续监听,可以接收来自多个客户端或同一客户端的多次通信数据。
步骤二: 在客户端(B 机)发送测试数据
echo "This is a UDP test message." | nc -u -w 1 192.168.153.220 41643
命令参数详解:
-u:同样,指定使用 UDP 协议。-w 1:设置超时时间为 1 秒。发送数据后,nc会等待 1 秒再退出。这有助于确保数据包有足够的时间被发送出去。
或者,交互模式:
nc -uv 192.168.153.220 41643
现在,您可以开始测试: 在 B 机 的终端里输入任意文字(例如 hello),然后按回车。 观察 A 机 的终端,它应该会立刻显示出 hello。 您可以继续在 B 机输入更多消息,A 机会持续接收并显示。
Note: 服务器端 必须 使用 -k 选项。否则,一旦第一个客户端连接并发送数据后,监听服务就会自动退出,导致后续的测试(无论是来自新终端还是新设备)都会失败。
留言