Файл PCAP загружается из URL с помощью Python (2.7.9) просит библиотека:Работа с Python просит ответа необработанный файл типа (файл PCAP процесса без сохранения его на диск) объект
import requests
response = requests.get('http://example.com/path/1.pcap', stream=True)
Согласно документации response.raw
является файлоподобным объектом, и моя цель - обработать загруженный файл, не сохраняя его на диске.
я впервые посмотрел на Scapy
и Pyshark
библиотек для .pcap
файла синтаксического анализа, но их функции (rdpcap
и FileCapture
) принимает путь к файлу в качестве аргумента строку. pcap.Reader
от dpkt
библиотека принимает файл. Первая попытка pcap=dpkt.pcap.Reader(resonse.raw)
дала ошибку:
AttributeError: 'HTTPResponse' object has no attribute 'name'
атрибут Name был добавлен:
setattr(response.raw,'name', 'test.pcap')
После этого pcap=dpkt.pcap.Reader(resonse.raw)
не давал каких-либо ошибок, но pcap.readpkts()
неудачу с
io.UsupportedOperation: seek
И действительно response.raw.seekable()
возвращается False
.
Я попытался установить response.raw.decode_content = True
, но это не помогло.
Есть ли решение для обработки объекта так, как я пытаюсь? Возможно, требуются дополнительные параметры запроса, чтобы получить объект ответа на поиск?
Кстати, если объект ответа записывается в файл (shutil.copyfileobj(response.raw,file)
), то dpkt
успешно работает с этим файлом.
Можете ли вы показать фрагмент кода, который терпит неудачу, @ Andrey? – boardrider