在进行「流量数据分析」的过程中,想利用Python的Scapy库写脚本来协助分析流量数据。但是,由于需要分析的数据包过大(500M以上),导致脚本在加载数据包文件后读取执行异常的慢。而通过下面这种方式读取数据包就会快很多,但在分析流量数据上就没有Scapy那么“友好”。
import dpkt
from scapy import *
# 读取pcap文件
f = open('file_name.pcap','rb')
pcap = dpkt.pcap.Reader(f)
for ts,buf in pcap:
eth = dpkt.ethernet.Ethernet(buf)
# 将流量数据转换为字符串输出
print(repr(eth.data))