我正在启动一个广播 udp 数据包的应用程序。我还有一个简单的 python 脚本来确认这些数据包正在广播:
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind(('225.0.0.10', 1060))
while True:
message,source = sock.recvfrom(4096)
但是,我希望使用 tcpdump 查看这些数据包,但无论我怎么尝试都看不到它们。例如,我尝试过:
sudo tcpdump -nnXi any > ~/out.txt
sudo tcpdump -nnXi any port 1060 > ~/out.txt
sudo tcpdump -n udp dst port 1060 > ~/out.txt
最后两个命令给出的日志为空。我做错了什么?
答案1
和tcpdump,您必须指定要 lsiten 的接口,例如:
sudo tcpdump -i eth0 -n udp
或者同样用 wlan0 替换 eth0。
答案2
尝试:
tcpdump -n "broadcast and multicast"
答案3
这是有效的,请确保您使用正确的界面,eth0
在此示例中:
tcpdump -i eth0 ether broadcast or ether multicast