我正在尝试使用netcat发送广播消息。
我打开防火墙,发送这样的常规消息对我有用:
host: nc -l 192.168.1.121 12101
client: echo "hello" | nc 192.168.1.121 12100
但我无法得到这样的东西。
host: nc -lu 0.0.0.0 12101
client: echo "hello" | nc -u 255.255.255.255 12100
我使用正确的旗帜吗?注意,主机在Mac上,而客户端在Linux上。你能给我一个用于广播消息的例子吗?
谢谢!
答案 0 :(得分:20)
netcat的GNU版本可能会被破坏。 (无论如何,我无法在0.7.1下工作。)见http://sourceforge.net/p/netcat/bugs/8/
我让socat上班了。下面的代码将UDP广播到端口24000。
socat - UDP-DATAGRAM:255.255.255.255:24000,broadcast
(在socat-world中“ - ”表示“stdin”。)
答案 1 :(得分:7)
您不是说要播放,而是使用nc
/ netcat
的{{1}}选项进行广播。
nc -h 2>&1 | grep -- -b
-b allow broadcasts
答案 2 :(得分:1)
一个适用于Ubuntu的简单示例。输入的所有信息都在其他答案中,但是我不得不将其拼凑在一起,以为我可以分享结果。
服务器
nc -luk 12101
客户端
echo -n "test data" | nc -u -b 255.255.255.255 12101
客户端将挂起,直到您执行Ctrl-C