Python dpkt 可以解析 Wireshark/pcap 文件并成功显示数据包数据:
>>> for ts, pkt in pcap:
eth = dpkt.ethernet.Ethernet(pkt)
type(eth.data)
<class 'dpkt.ip.IP'>
<class 'dpkt.ip.IP'>
但是当我试图解析 tcpdump 文件时,我得到了以下结果:
>>> for ts, pkt in pcap:
eth = dpkt.ethernet.Ethernet(pkt)
type(eth.data)
<type 'str'>
<type 'str'>
<type 'str'>
从 Python IDE 打印中,您可以看到 type(eth.data) 是'str'而不是类 'dpkt.ip.IP'。
有谁知道根本原因是什么以及如何使 dpkt 用于tcpdump
捕获?