在Python中将原始Netflow数据解码为人类可读的文本

2024-05-20 08:00:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我设法收集一些原始的Netflow数据,并利用scapy将我的数据包解码到netflowversion9。但是,我无法继续将字段值转换为人类可读的文本。下面的代码是我如何使用scapy查看数据:

from scapy.all import *

def handle(self, ip, data):     
    logging.info('Receiving Data from %s with %s bytes of data.' % (ip, len(data)))
    a = NetflowHeader(raw(data))
    a.show()

这是我得到的输出:

enter image description here


Tags: 数据代码from文本ip利用data人类
1条回答
网友
1楼 · 发布于 2024-05-20 08:00:59

更新:较新的Scapy版本支持on-flow netflow v9解析(使用GitHub主版本)。

# Live / on-the-flow / other: use NetflowSession
>>> sniff(session=NetflowSession, prn=[...])

原文:

netflowv9格式不好,因为每个数据包都需要一些以前的数据包进行分析。Scapy不支持这个功能,但是它提供了一个可以在数据包列表上调用的函数。在

您需要收集netflowV9包的列表,然后调用netflowv9_defragment(thelist)

https://github.com/secdev/scapy/blob/master/scapy/layers/netflow.py#L11

这只意味着您不能将prn与NetflowV9一起使用

相关问题 更多 >