我目前正在努力从ruby中的ip地址255.255.255.255接收广播数据包。
通常,我的网络配置有两个不同的VLAN:
vlan10:ip 10.10.10.1网络掩码255.255.0.0=>广播地址10.10.255.255
vlan20:ip 10.0.0.1网络掩码255.0.0.0=>广播地址10.255.255.255
作为接收器,我使用以下测试代码显示传入的数据包:
require 'socket'
addr = ['0.0.0.0', 3020]
BasicSocket.do_not_reverse_lookup = true
# Create socket and bind to address
UDPSock = UDPSocket.new
UDPSock.bind(addr[0], addr[1])
while true
data, addr = UDPSock.recvfrom(1024)
puts "From addr: '%s', msg: '%s'" % [addr[0], data]
end
UDPSock.close
从10.255.255.255和10.10.255.255接收数据包可以正常工作。未收到发送到ip 255.255.255.255的数据包。
我是否需要设置其他属性以使ruby接收“受限广播”数据包?
我希望有人能帮忙。我真的迷路了。
谢谢,uwe
1条答案
按热度按时间mbjcgjjk1#
谢谢你的帮助。在检查路由器配置时,我注意到我有一个错误的vlan配置,导致了这种行为。