如何通过用Scapy嗅探接口来获取netflow v9流字段?

问题描述

使用Scapy从嗅探流量中获取基于流的文件时遇到了麻烦,我打算将其用于机器学习。

我确定了一组对我的算法有用的字段,例如#IN_BYTES#IN_PKTS#DIRECTION#TCP_FLAGS等。我从Scapy的文档中了解到,为了将流量导出到这些netflow v9字段中,首先我必须创建模板。

header = Ether()/IP()/UDP()
netflow_header = NetflowHeader()/NetflowHeaderV9()
#header = NetflowHeader()/NetflowHeaderV9(unixSecs=A_TIMESTAMP)


# Let's first build the template. Those need an ID > 255
flowset = NetflowFlowsetV9(
    templates=[NetflowTemplateV9(
        template_fields=[
            NetflowTemplateFieldV9(fieldType=1,fieldLength=1),# IN_BYTES
            NetflowTemplateFieldV9(fieldType=2,fieldLength=4),# IN_PKTS
            NetflowTemplateFieldV9(fieldType=3),# FLOWS
            NetflowTemplateFieldV9(fieldType=4),# PROTOCOL
            NetflowTemplateFieldV9(fieldType=6),# TCP_FLAGS   
        ],templateID=256,fieldCount=5)
    ],flowSetID=0
)

为了嗅探界面,我正在使用这个:

packets = sniff(iface ='ens8')

我应该怎么做才能描述基于流的基于分组的信息? 我想要的是监视在线接口,然后处理基于流的信息。但是我也可以处理存储的.pcap流量文件。在这两种情况下,我都必须遵循什么步骤?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)