使用 Netcat 通过 UDP 进行单向通信

Sco*_*May 5 nc

我遇到过这样的情况:许多“智能”设备通过 UDP 向我发送数据。我无法更改发送端的任何内容。

我正在测试 nc (或 netcat),但无法通过以下内容:

接收结束命令:

nc -l -u 8123
Run Code Online (Sandbox Code Playgroud)

测试发送命令:

echo "test" | nc -u 127.0.0.1 8123
Run Code Online (Sandbox Code Playgroud)

第一个数据包工作正常,但两端似乎都进入了某种睡眠状态,我必须CTRL再次C尝试。一旦它起作用,我将使接收端“继续监听”(-k),然后我将处理数据包

Sco*_*May 2

答案是,如果出现的话 - netcat 在像这样使用时显然存在一些问题 - socat 提供了一个解决方案:

收到:

socat -u udp4-recv:8123 - 
Run Code Online (Sandbox Code Playgroud)

发送:

echo "test" | socat - udp4-sendto:127.0.0.1:8123
Run Code Online (Sandbox Code Playgroud)