是否可以使用 scapy 从字节字符串中读取 pcap 文件?



我想从 site.com/pcap.pcap 下载一个pcap,并使用scapy确定它是否有DNS记录。但是,我不想将文件写入磁盘。 所以像

import requests
response=requests.get('site.com/pcap.pcap')
pcap_in_memory_as_bytes = response.content
some_scapy_func_that_finds_dns_traffic(pcap_in_memory_as_bytes)

可以用斯卡皮做到这一点吗?我尝试了一些似乎失败的事情。寻找这是否可能似乎为零。

您可以使用BytesIO进行读取,而无需在本地存储文件

from scapy.utils import rdpcap
from io import BytesIO
pktpcap = rdpcap(BytesIO(response.content))

之后,您可以使用例如以下内容检查文件:

from scapy.layers.dns import *
for pkt in pktpcap:
if DNS in pkt:
.....

最新更新