2017-04-25 213 views
2

我想用Python 3.5解析Linux(Fedora 25)机器上的pflog(OpenBSD 5.8)。我尝试了dpkt模块,但是it doesn't support pflog files。然后我tryed Scapy的:用Python解析pflog文件

>>> p = rdpcap('pflog') 
WARNING: RawPcapReader: unknown LL type [117]/[0x75]. Using Raw packets. 
>>> p.summary() 
Raw 
Raw 
... 
Raw 
>>> rdpcap('pflog') 
<pflog: TCP:0 UDP:0 ICMP:0 Other:109> 

作警告消息表明,所有的数据包都读为原料,所以我不能够打开他们(和它的奇怪,因为Scapy supports pflog)。我尝试了不同的文件(来自同一台OpenBSD机器),结果总是一样的。另外,我在Wireshark中成功导入了这个文件。

我的问题是:如何使用Python解析这种类型的文件?如果Wireshark可以无误地打开它,一些Python模块也应该这样做(我认为是这样)。

+0

发现一个Python模块,它能够读取使用Wireshark的引擎的包:[pyshark(HTTPS:/ /github.com/KimiNewt/pyshark) – forkd

回答

1

Scapy的工作, 您需要使用:

load_layer("pflog") 

在加载您的PCAP

+0

谢谢。我已经使用pyshark模块进行了解析,但也许Scapy会更好地工作。 – forkd