Как получить длину снимка файла.pcap с помощью dpkt?
Я пытаюсь получить снимок длины файла.pcap. Я перешел на страницу справочника по pcap и pcap_snapshot, но не смог заставить функцию работать.
Я использую виртуальную машину Fedora20, и она написана на python
Сначала я пытаюсь импортировать файл, который, по словам руководства, должен быть включен, но я получаю синтаксическую ошибку при импорте и pcap_snapshot(). Я новичок в python, поэтому представляю, что это что-то простое, но не уверен, что это такое. Любая помощь высоко ценится!
import <pcap/pcap.h>
import dpkt
myPcap = open('mycapture.pcap')
myFile = dpkt.pcap.Reader(myPcap)
print "Snapshot length = ", myFile.pcap_snapshot()
1 ответ
Не читайте man-страницу сначала, если вы не пишете код на C, C++ или Objective-C.
Если вы не используете язык C, вам нужно использовать оболочку для libpcap, и вам следует сначала прочитать документацию для оболочки, так как вы не будете вызывать функции C из libpcap, вы будете вызов функций из оболочки. Если вы попытаетесь импортировать файл заголовка языка C, такой как pcap/pcap.h, в Python, это не будет работать. Если вы попытаетесь напрямую вызвать функцию языка C, такую как pcap_snapshot()
, это тоже не сработает.
Dpkt не является оберткой; вместо этого это библиотека для анализа пакетов и чтения файлов pcap, причем код для чтения файлов pcap не зависит от libpcap. Поэтому он не будет предлагать оболочки для API-интерфейсов libpcap, таких как pcap_snapshot()
,
Документация Dpkt, ну, довольно ограничена. Беглый взгляд на его модуль pcap.py показывает, что
print "Snapshot length = ", myFile.snaplen
должно сработать; попробуй.