2017-04-25 140 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