使用Scapy模块(python)从pcap文件获取特定的包

2024-04-20 03:14:05 发布

您现在位置:Python中文网/ 问答频道 /正文

从PCY加载一个特定的文件包吗?在

我知道我可以使用sniff函数和count属性加载特定数量的包,例如

sniff(offline='file.pcap', prn=action, count=31)

但是,我需要在不加载之前的数据包的情况下获得第30个数据包。 换言之,我对这样的例子并不满意:

^{pr2}$

加载包的百万分之一的尝试太长。在


Tags: 文件函数数量属性count情况pcapaction
1条回答
网友
1楼 · 发布于 2024-04-20 03:14:05

每个数据包报头说明它的长度。一旦解析器读取了该报头,它就可以计算下一个报头的位置。据我所知,你不能打开一个pcap文件并立即找到包30;你需要解析前29个包的头。在

但你也不必把所有的数据包都保存在内存中,只要你在接收时处理它们。在

i = 0
for pkt in sniff(offline=path, prn=action):
    if i == 30:
        print pkt
        break

相关问题 更多 >