使用nc(netcat)广播消息

时间:2012-11-08 17:56:08

标签: networking udp

我正在尝试使用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上。你能给我一个用于广播消息的例子吗?

谢谢!

3 个答案:

答案 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