机器学习流量分类开源项目

以下是一些开源的 PCAP 文件机器学习流量分类 项目,您可以参考这些项目来实现网络流量分类。它们通常包括了从 PCAP 文件提取特征、训练 机器学习模型 到进行 流量分类 的完整流程。

1. CICIDS 2017 (Canadian Institute for Cybersecurity)

  • 简介: CICIDS 2017 是一个包含正常流量和攻击流量的网络流量数据集,包含了 PCAP 文件。它被广泛用于流量分类研究。
  • 特征: 包括网络数据包的时间戳、流量大小、端口、协议、源和目标 IP 等。
  • 机器学习模型: 可使用如 SVM、随机森林、神经网络等算法进行流量分类。
  • 项目链接: CICIDS 2017 Dataset
  • 代码示例: CICIDS 2017 数据集有许多开源实现,部分基于 Python 和机器学习库(如 Scikit-learn)。

2. Flowmon

  • 简介: Flowmon 是一个专门用于网络流量分析和流量分类的开源工具。它支持从流量数据(如 NetFlow 或 PCAP 格式)中提取特征,使用机器学习模型进行分类。
  • 特征: 包括协议、流量大小、数据包计数等。
  • 机器学习模型: Flowmon 提供了对机器学习的支持,可以与流量分类任务集成。
  • 项目链接: Flowmon Network Monitoring
  • 代码示例: Flowmon 提供了基于机器学习的流量分析,但它主要是一个商业工具,适合大规模流量分析。

3. Zeek (formerly Bro)

  • 简介: Zeek 是一个开源的网络安全监控平台,能够解析 PCAP 文件 并生成流量日志,支持基于日志数据的机器学习分类。
  • 特征: 通过 Zeek 脚本,您可以提取流量特征,如 IP 地址、端口、协议、流量量、时间等。
  • 机器学习模型: 生成的日志可以用于训练机器学习模型。
  • 项目链接: Zeek
  • 代码示例: Zeek 本身没有直接提供机器学习分类工具,但其强大的日志系统可以生成大量流量特征数据,您可以使用这些数据结合机器学习库进行训练。

4. OpenDPI

  • 简介: OpenDPI 是一个开源的深度包检测(DPI)库,专注于基于流量分析和模式识别的网络流量分类。
  • 特征: OpenDPI 支持从流量中提取流量特征,进行协议识别,并结合机器学习方法进行流量分类。
  • 机器学习模型: 使用机器学习模型(如决策树、支持向量机等)进行流量分类。
  • 项目链接: OpenDPI GitHub
  • 代码示例: OpenDPI 提供了一个简单的基于规则的流量分类方法,您可以在此基础上加入机器学习方法进行改进。

5. Kitsune (Network Traffic Anomaly Detection)

  • 简介: Kitsune 是一个基于 机器学习网络流量异常检测系统,旨在识别网络中的异常流量。它基于 深度学习流量特征提取,可以进行流量分类。
  • 特征: Kitsune 提取了各种网络流量特征,用于训练机器学习模型进行分类。
  • 机器学习模型: Kitsune 结合了 自编码器(Autoencoders)等深度学习方法。
  • 项目链接: Kitsune GitHub
  • 代码示例: 该项目包含了详细的代码和文档,帮助您基于机器学习进行网络流量分类。

6. MLFlow for Network Traffic Classification

  • 简介: MLFlow 是一个开源的机器学习平台,可以帮助您管理机器学习模型的训练、版本控制和部署。虽然它不是专门为网络流量分类设计的,但您可以结合它与 PCAP 数据集和机器学习模型一起使用。
  • 特征: 适用于各种流量数据集,提供简单的接口来训练、测试和评估模型。
  • 项目链接: MLFlow
  • 代码示例: 可以将任何机器学习模型与 MLFlow 配合使用来进行流量分类任务。

7. PCAP-ML

  • 简介: PCAP-ML 是一个小型开源项目,专注于从 PCAP 文件 中提取特征并应用机器学习进行流量分类。
  • 特征: 提取了包括源/目标 IP、端口、协议类型、包大小等在内的基本流量特征。
  • 机器学习模型: 支持分类算法(如随机森林、支持向量机等)进行流量分类。
  • 项目链接: PCAP-ML GitHub
  • 代码示例: 项目包含完整的特征提取、模型训练和评估流程。

8. MLPFlow

  • 简介: MLPFlow 是一个使用 机器学习深度学习 进行流量分类的项目,专门用于处理 PCAP 文件,并支持基于流量特征进行流量分类。
  • 特征: 提取了不同协议、源和目标地址的统计特征,可以将其与机器学习算法结合使用。
  • 机器学习模型: 提供了基于深度神经网络(DNN)和其他经典机器学习方法的流量分类模型。
  • 项目链接: MLPFlow GitHub
  • 代码示例: 该项目包含流量分类的示例代码。

总结

这些开源项目展示了如何基于 PCAP 文件 实现 机器学习流量分类。其中 ZeekOpenDPI 提供了流量特征提取的基础,而像 KitsuneFlowmonCICIDS 2017 等项目则提供了较为完整的流量分类功能。您可以根据自己的需求选择合适的项目并进行定制。

深度学习实现流量识别

https://github.com/echowei/DeepTraffic

关于深度学习的网络流量分类论文整理(一)

https://blog.csdn.net/caiguanhong/article/details/109695999

关于深度学习的网络流量分类论文整理(二)

https://blog.csdn.net/caiguanhong/article/details/110292236

流量分类方法设计(一)——参考论文整理

https://blog.csdn.net/pnnngchg/article/details/79826949

加密流量分类torch实践2:CNN+LSTM模型训练与测试

https://blog.csdn.net/qq_45125356/article/details/129425682

基于cnn和lstm的网络流量分类

https://blog.csdn.net/qq_45087786/article/details/123168016

跑通【GNN+加密流量】TFE-GNN教程

https://blog.csdn.net/weixin_58281751/article/details/144117986

https://github.com/qa276390/Encrypted_Traffic_Classification

https://github.com/alexstaravoitau/traffic-signs

https://github.com/munhouiani/Deep-Packet


机器学习流量分类开源项目
http://blog.uanet.cn/AI/机器学习流量分类开源项目.html
作者
dnsnat
发布于
2025年2月13日
许可协议