PyShark - 无法从 PCAP 文件读取数据包,但 PCAP 在 Wireshark 中可以正常打开

问题描述 投票:0回答:1

我正在尝试从 PCAP 文件中读取数据包并查看其中的数据包数量。后来,我会尝试对每个数据包执行更多操作。但是,数据包数量始终为零。我也尝试过使用其他 PCAP 文件。有人可以帮我找出问题所在吗?

import pyshark
cap = pyshark.FileCapture('./snort.log.1730480966')
print(cap)
print(len(cap))    # Length is always zero for some reason!

我使用 snort IDS 捕获了这个 PCAP 文件。我用来捕获该文件的命令是:

snort -q -b -l /var/log/snort -i eth1 -P 65535 -c /etc/snort/snort.conf &

您可以从这里下载文件。

尽管如此,我可以在 WireShark 中打开 PCAP 文件: enter image description here

snort pyshark
1个回答
0
投票

我认为您的输入文件存在语法错误。您的文件名为

snort.log.1730480966.pcap
,但您在此声明中没有包含
pcap
pyshark.FileCapture('./snort.log.1730480966')

使用下面的代码,当我加载数据包并获取它们的长度时,我得到两个数据包

import pyshark 

capture = pyshark.FileCapture(input_file='snort.log.1730480966.pcap')
capture.load_packets()
number_of_packets = len(capture)
print(number_of_packets)

附注这是我为 Pyshark 编写的一些

使用文档
。该文档正在开发中,因为有很多方法可以使用该模块。

© www.soinside.com 2019 - 2024. All rights reserved.