【问题标题】:Parse out UDP information with tshark (Wireshark) or Python使用 tshark (Wireshark) 或 Python 解析 UDP 信息
【发布时间】:2023-03-20 20:29:01
【问题描述】:

我在两台机器之间广播 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 中的两台电脑之间传递。

谢谢!

【问题讨论】:

  • 您可以(如果允许)编辑您的帖子以使代码看起来更漂亮

标签: python sockets wireshark tshark


【解决方案1】:

麦克弗利,

如果您想在 Python 中进行嗅探和显示/解析数据包,Scapy 是您的最佳选择。只需删除 tshark,因为 Scapy 可以自动完成 tshark 开箱即用的 99%。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 2012-08-24
    • 2015-02-01
    相关资源
    最近更新 更多