使用tshark(Wireshark)或Python解析UDP信息
我在两台机器之间发送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()
当我在我的“监听”电脑上运行这段代码时,没有接收到任何数据。当我在两台通信电脑中的一台上运行这段代码时,出现了“请求的地址在其上下文中无效”的错误。
请注意,我在我的“监听”电脑上可以看到两台电脑之间传输的所有数据。
谢谢!
1 个回答
0
McFly,
如果你想在Python中进行网络数据包的捕获和显示/解析,Scapy是最好的选择。你可以直接使用Scapy,因为它能自动完成99% tshark能做的事情,非常方便。