我需要处理一个 7GB 的 pcap 文件来提取它们的数据包大小、有效负载大小。我最初使用 scapy 的 PcapReader 来提取这些大小,但是对于 7GB 文件,scapy 运行速度确实很慢。所以我改用 DPKT 库,但是,我不知道如何检查它的 TCP 有效负载大小。
import dpkt
payload_size=[]
packet_size=[]
for ts,buf in dpkt.pcapng.Reader(open('pcap file','rb')):
eth=dpkt.ethernet.Ethernet(buf)
if eth.type==dpkt.ethernet.ETH_TYPE_IP:
ip=eth.data
if ip.p==dpkt.ip.IP_PROTO_TCP:
packet_size.append(ip.len)
payload_size.append(?)
else:
pass