使用tshark(Wireshark)或Python解析UDP信息

0 投票
1 回答
1473 浏览
提问于 2025-04-17 05:30

我在两台机器之间发送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能做的事情,非常方便。

撰写回答