我想从 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:
.....