python解析pcap包,python-用scapy读取PCAP文件

我有大约10GB的pcap数据和IPv6流量,用于分析存储在IPv6头和其他扩展头中的信息.为此,我决定使用Scapy框架.我尝试了rdpcap函数,但是对于如此大的文件,不建议这样做.它试图将所有文件加载到内存中并卡在我的情况下.

我在网上发现在这种情况下建议使用嗅探器,我的代码如下所示:

def main():

sniff(offline='traffic.pcap', prn=my_method,store=0)

def my_method(packet):

packet.show()

在名为my_method的函数中,我分别接收每个数据包,并且可以解析它们,但是….

当我使用内置框架方法调用show function时,我得到了如下信息:

在wireshark中打开时,我可以正确查看数据包:

您能告诉我如何解析这些数据包以获取正确的结果吗?

编辑:

根据评论中的讨论,我找到了一种使用Python解析PCAP文件的方法.我认为最简单的方法是使用pyshark框架:

import pyshark

pcap = pyshark.FileCapture(pcap_path) ### for reading PCAP file

使用for循环可以轻松地迭代读取的文件

for pkt in pcap:

#do what you want

对于解析IPv6标头,以下方法可能有用:

pkt['ipv6'].tclass #Traffic class field

pkt['ipv6'].tclass_dscp #Traffic class DSCP field

pkt['ipv6'].tclass_ecn #Traffic class ECN field

pkt['ipv6'].flow #Flow label field

pkt['ipv6'].plen #Payload length field

pkt['ipv6'].nxt #Next header field

pkt['ipv6'].hlim #Hop limit field

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值