第十八章 常用库NFstream

1:NFStream简介

NFStream是一个Python框架,提供快速、灵活和富有表现力的数据结构,旨在使在线或离线网络数据的工作既简单又直观。它的目标是成为在Python中进行实际的、真实的网络数据分析的基本高级构建块。此外,它还有一个更广泛的目标,即成为一个通用的网络数据分析框架,为研究人员提供跨实验的数据重现性。

2:特性

加密的第7层的可见性:它允许NFStream执行可靠的加密应用识别和元数据指纹提取(例如TLS, SSH, DHCP, HTTP)。

统计特征提取:NFStream提供了基于流的统计特征提取的最新技术。它既包括事后统计特征(例如数据包大小和到达间隔时间的最小值、平均值、stddev和最大值),也包括早期流特征(例如前n个数据包大小的顺序、到达间隔时间和方向)。

面向格结构的机器学习:NFStream旨在将使用于网络流量管理的机器学习方法可重现和可部署。通过使用NFStream作为一个通用框架,研究人员可以确保模型使用相同的特征计算逻辑进行训练,从而实现公平的比较。此外,经过训练的模型可以使用NFPlugins部署和评估在实时网络上。

3:使用

3.1:Encrypted application identification and metadata extraction加密应用识别和元数据提取

(1)my_streamer = NFStreamer()
NFStreamer()参数详解参考:# https://www.nfstream.org/docs/api#nfstreamer
NFStreamer方法:

FLOW INTERATION METHOD

for flow in my_streamer:
   print(flow) # or whatever

PANDAS DATAFRAME CONVERSION(转换)

 
my_dataframe = my_streamer.to_pandas(columns_to_anonymize=[])
my_dataframe.head()

CSV FILE CONVERSION

total_flows_count = my_streamer.to_csv(path=None, columns_to_anonymize=[], flows_per_file=0)

# https://www.nfstream.org/docs/api#nfstreamer

(2)NFlow是NFStream中的流表示。它包含根据NFStreamer配置的所有被计算的流特性。下面我们详细介绍每个被实现的特性。

# https://www.nfstream.org/docs/api#nfstreamer

3.2 Post-mortem statistical flow features extraction(数据包大小和到达间隔时间的最小值、平均值、stddev和最大值)

# https://www.nfstream.org/docs/api#nfstreamer

3.3Early statistical flow features extraction

# https://www.nfstream.org/docs/api#nfstreamer
 
原文地址:https://www.cnblogs.com/jiafeng1996/p/15320627.html