我正在尝试了解 UDP 广播,但遇到了一些麻烦。
1-运行这样的服务器
nc.traditional -l -u 10.0.0.253 -p 65001
2-像这样从客户端发送内容-在同一台机器上-有效:
nc.traditional -u 10.0.0.253 65001
我可以在客户端输入内容nc
,然后它会显示在服务器上nc
。
3 – 但是在这样的广播模式下,当我在客户端输入内容时,服务器什么也没有收到:
nc.traditional -u -b 10.0.0.255 65001
我正在运行 Ubuntu 22.04。地址10.0.0.253
来自ip a
如下输出:
3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 8c:1d:96:d8:df:97 brd ff:ff:ff:ff:ff:ff
altname wlp0s20f3
inet 10.0.0.253/24 brd 10.0.0.255 scope global dynamic noprefixroute wlo1
valid_lft 161367sec preferred_lft 161367sec
inet6 2601:647:6400:32f0::2056/128 scope global dynamic noprefixroute
valid_lft 593370sec preferred_lft 593370sec
inet6 fe80::c1c7:fce6:ecca:b966/64 scope link noprefixroute
valid_lft forever preferred_lft forever
知道我做错了什么吗?
答案1
是防火墙。我ufw
启用了默认设置来阻止一切。
并且由于某种原因,它允许定向 udp 但阻止广播 udp。
完成后sudo ufw allow 65001/udp
广播就可以正常工作了。
服务器:nc.traditional -l -u -p 65001
客户:nc.traditional -u -b 10.0.0.255 65001