我正在使用在树莓派上运行的 kismet 来捕获我需要在另一台设备上实时分析的网络数据。Kismet 的 api 有一个端点来接收 pcapng 格式的二进制数据流. 我已经成功地读取了流,但是除了实际的 pcapng 标准之外,我找不到任何关于从流中获取有用数据的文档。这很好,但传入的数据与格式不一致,我发现没有能够成功解析此流的库。我认为问题在于,在读取流时,在每个捕获的数据包之间插入了额外的数据,因此确定数据包的开始是主要问题。我目前正在使用 python,但如果他们可以轻松解决这个问题或已经编写了库,我对其他语言持开放态度。
这是我用来将数据导入 python 的代码,我print(line.hex())
将在其中访问相关数据。
import requests
r = requests.get(url, stream=True)
for line in r.iter_lines():
print(line.hex())