无法使用 tcpdump 查看广播数据包

无法使用 tcpdump 查看广播数据包

我正在启动一个广播 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

相关内容