gpt4 book ai didi

optimization - 从 scapy 中的 PCAP 文件获取 IP 地址

转载 作者:行者123 更新时间:2023-12-03 15:59:21 26 4
gpt4 key购买 nike

是否有一种智能快速的方法可以从 PCAP 文件中获取所有 IP 地址?
我只需要(目标地址,源地址)元组。

目前我正在使用 Scapy 的 rdpcap像这样的功能:

from scapy.all import *
pcap = rdpcap('file.pcap')

ips = set([(p[IP].fields['src'], p[IP].fields['dst']) for p in pcap if p.haslayer(IP) == 1])

但是在我的机器上解析一个包含 370 个唯一提取条目的 70MB PCAP 文件大约需要两分钟......

最佳答案

做我认为的“最佳”方法(根据您提供的代码,我想您想要的是一对(IP 源地址、IP 目标地址)而不是 IP 数据包)您想要的是:

>>> set((p[IP].src, p[IP].dst) for p in PcapReader('file.pcap') if IP in p)

整个 PCAP 文件不会浪费内存, set对象是逐包构建的。

如果速度不够快,您可以指示 Scapy 在 IP 之后不要解析数据包。层,因为您不使用 IP有效载荷:
>>> IP.payload_guess = []

然后运行前面的命令。

关于optimization - 从 scapy 中的 PCAP 文件获取 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20093238/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com