Python3 Scapy的/ kamene极其缓慢

问题描述 投票:1回答:1

我试图用Pcap.net一些PCAP文件分析,历时约五秒钟,遍历一个1GB的文件PCAP所有可用数据包。

现在我试图使用Scapy的上Python3,这对于无论何种原因被称为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'>

,普遍的消息刚刚被一遍又一遍地重复,并运行五分钟后,我放弃了。有没有人对正在发生的事情什么想法?我是不是哑巴?

我已经在Windows尝试这样双方Ubuntu和Visual Studio中(包括虚拟化)

python-3.x scapy pcap
1个回答
3
投票

首先,所有的L,你不使用Scapy的:/来自https://scapy.net

Scapy的的一个独立的叉从V2.2.0,2015年创建的,旨在支持仅Python3(scapy3k)。叉分歧,没有按照变阵和修复,并有了自己的生活没有贡献回到Scapy的。不幸的是,它已被打包为python3-Scapy的一些分发,并作为PyPI上Scapy的-python3导致混乱之中的用户。它不应该再快的情况。 Scapy的支持Python3除了Python2自2.4.0。 Scapy的V2.4.0应该受到青睐的官方Scapy的代码库。叉已更名为kamene。

卸载kamene和pip install scapypip3 install scapy(或从GitHub得到它)可能有帮助。

话虽这么说,Scapy的没有被设计为支持数据量非常大的(而是旨在易于实现的)。它可能会需要一些时间来处理反正1GB:/(另外,Python是不是在等事项的口袋夹层其他语言(C)慢你可能永远不会匹配在Python Wireshark的速度。)

© www.soinside.com 2019 - 2024. All rights reserved.