Python3 Scapy / Kamene非常慢

时间:2019-02-05 13:33:45

标签: python-3.x scapy pcap

我试图使用Pcap.net进行一些PCAP文件分析,这花了大约五秒钟的时间才能遍历1GB pcap文件中的所有可用数据包。

我现在正在尝试在Python3上使用Scapy,无论出于什么原因,Scapy都被称为Kamene,但是从字面上来看,要花很长时间才能解析该文件,并且CPU活动达到100%,所以我显然做错了。这是代码:

from kamene.all import *

packetCount = 0

with PcapReader("C:\\Testing\\pcap\\maccdc2012_00000.pcap") as reader:
    for packet in reader:
        packetCount += 1

print(packetCount)

运行时,我得到:

WARNING: No route found for IPv6 destination :: (no default route?).
This affects only IPv6

<UNIVERSAL><class 'kamene.asn1.asn1.ASN1_Class_metaclass'>

该UNIVERSAL消息一遍又一遍地重复出现,运行了五分钟后,我放弃了。有谁知道发生了什么吗?我在蠢吗?

我已经在Ubuntu和Windows的Visual Studio(均已虚拟化)中进行了尝试

1 个答案:

答案 0 :(得分:3)

首先,我首先没有使用Scapy:/ 来自https://scapy.net

  

Scapy的独立分支是从2015年的v2.2.0版本创建的,旨在   仅支持Python3(scapy3k)。叉子发散了,没有跟上   进化和修复,并且没有贡献就拥有了自己的生命   回到Scapy。不幸的是,它已被打包为python3-scapy   一些发行版,以及PyPI上的scapy-python3导致混乱   在用户之间。现在不应该再这样了。 Scapy支撑   从2.4.0开始,除了Python2之外还有Python3。 Scapy v2.4.0应该是   被视作Scapy的官方代码库。叉子已重命名为   假面。

卸载kamene和pip install scapypip3 install scapy(或从github获取)可能会有所帮助。

话虽如此,Scapy并非旨在支持大量数据(而是旨在易于实现)。无论如何,处理1GB可能要花一些时间:/(此外,在口袋解剖方面,Python比其他语言(C)要慢。您可能永远无法在Python中达到Wireshark的速度)

相关问题