我在两台机器之间广播 UDP 数据包并在第三台机器上收听它们。我可以在 Wireshark 中看到数据包,并且需要任何简单的方法来获取 UDP 数据包的“数据”部分。我已经能够使用 tshark 将数据包信息转储到文件中
C:>tshark -V -R "udp" > C:/test.txt
但是,这会打印出数据包中的所有内容,我只想打印出“数据”部分。有没有办法做到这一点?
此外,如果有一种方法可以在 Python 中捕获这一点,那也很棒。我已经设置了以下代码:
Host = "myip"
Port = 5000
While True:
sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
sock.bind((Host,Port))
data = sock.recv(4096)
sock.close()
当我使用我的“监听”电脑实现此代码时,没有收到任何数据。当我使用我的两台通信电脑中的一台实现此代码时,“请求的地址在其上下文中无效”
请注意,我看到所有数据都在我的“监听”电脑上的 Wireshark 中的两台电脑之间传递。
谢谢!