ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

CICFlowMeter与网络安全数据集:CICIDS2017与CICDDoS2019生成方法

2026/8/15 16:13:49 拓冰建站 浏览量
CICFlowMeter与网络安全数据集:CICIDS2017与CICDDoS2019生成方法

CICFlowMeter与网络安全数据集:CICIDS2017与CICDDoS2019生成方法

【免费下载链接】CICFlowMeterCICFlowmeter-V4.0 (formerly known as ISCXFlowMeter) is an Ethernet traffic Bi-flow generator and analyzer for anomaly detection that has been used in many Cybersecurity datsets such as Android Adware-General Malware dataset (CICAAGM2017), IPS/IDS dataset (CICIDS2017), Android Malware dataset (CICAndMal2017) and Distributed Denial of Service (CICDDoS2019).项目地址: https://gitcode.com/gh_mirrors/ci/CICFlowMeter

CICFlowMeter(前身为ISCXFlowMeter)是一款强大的网络流量双向流生成与分析工具,广泛应用于网络安全异常检测领域。它能够将原始网络数据包转换为结构化的流量特征数据,为CICIDS2017、CICDDoS2019等知名网络安全数据集的构建提供核心技术支持。本文将详细介绍如何使用CICFlowMeter生成这些关键数据集,帮助安全研究者快速掌握流量特征提取的完整流程。

🌟 CICFlowMeter核心功能解析

CICFlowMeter的核心价值在于其将原始网络流量转化为可用于机器学习的结构化特征数据的能力。通过Bi-flow(双向流)分析技术,工具能够捕捉网络通信中的完整交互模式,为入侵检测、异常行为分析提供丰富的数据基础。

🔑 关键技术组件

  1. FlowGenerator核心类
    src/main/java/cic/cs/unb/ca/jnetpcap/FlowGenerator.java是流量生成的核心模块,负责将原始数据包聚合成流量流并提取85种流量特征,包括:

    • 基本信息:源IP、目的IP、端口、协议
    • 流量统计:包数量、字节数、持续时间
    • 时间特征:流间隔、活跃时间、空闲时间
    • 标志位信息:FIN、SYN、RST等TCP标志位计数
  2. 流量超时机制
    工具通过双向流超时(flowTimeOut)和活动超时(flowActivityTimeOut)参数控制流量聚合,确保准确划分不同网络会话,这一机制在FlowGenerator.java的构造函数中定义,是生成高质量流量数据的关键。

📊 网络安全数据集生成全流程

1️⃣ 环境准备与安装

CICFlowMeter基于Java开发,需要先配置jnetpcap库。具体步骤如下:

# Linux系统安装jnetpcap本地仓库 cd jnetpcap/linux/jnetpcap-1.4.r1425 mvn install:install-file -Dfile=jnetpcap.jar -DgroupId=org.jnetpcap -DartifactId=jnetpcap -Dversion=1.4.1 -Dpackaging=jar

2️⃣ 运行CICFlowMeter

使用Gradle构建并运行工具:

# Linux系统 sudo bash ./gradlew execute # Windows系统 gradlew execute

运行后将启动图形界面,可通过src/main/java/cic/cs/unb/ca/ifm/ui/MainFrame.java实现的交互界面进行操作。

3️⃣ 流量数据采集与处理

离线文件分析模式
  1. 通过界面选择"Offline"模式
  2. 导入PCAP格式的原始数据包文件
  3. 设置输出目录和文件名
  4. 点击"Start"开始流量特征提取

工具将自动处理PCAP文件,通过ReadPcapFileWorker.java读取数据包,并由FlowGenerator生成结构化特征。

实时流量捕获模式
  1. 选择"Online"模式
  2. 选择网络接口
  3. 设置捕获过滤器(可选)
  4. 开始实时流量监控与分析

4️⃣ 特征数据导出

处理完成后,工具将生成CSV格式的流量特征文件,包含85列特征数据。关键导出代码在FlowGenerator.java的dumpLabeledFlowBasedFeatures方法中实现,确保特征数据符合CIC系列数据集的格式要求。

🚀 CICIDS2017与CICDDoS2019数据集构建要点

CICIDS2017数据集

该数据集包含多种攻击类型(如DDoS、Port Scan、Brute Force等)的流量特征,使用CICFlowMeter生成时需注意:

  • 设置合适的流量超时参数(推荐300秒)
  • 确保捕获完整的攻击生命周期
  • 保留原始标签信息以便后续模型训练

CICDDoS2019数据集

针对DDoS攻击的专项数据集,生成时建议:

  • 使用更高的数据包捕获速率
  • 启用双向流分析模式(FlowGenerator.java中的bidirectional参数设为true)
  • 特别关注流量速率、数据包大小分布等特征

💡 使用技巧与最佳实践

  1. 性能优化
    处理大型PCAP文件时,可通过src/main/java/cic/cs/unb/ca/jnetpcap/worker/TrafficFlowWorker.java实现的多线程处理提高效率。

  2. 特征定制
    如需扩展特征集,可修改FlowFeature.java添加自定义特征计算逻辑。

  3. 自动化流程
    通过Cmd.java实现命令行模式,便于集成到自动化数据处理管道中。

📝 总结

CICFlowMeter作为网络安全研究的基础工具,为CICIDS2017、CICDDoS2019等权威数据集提供了标准化的流量特征提取方案。通过本文介绍的方法,研究者可以快速掌握从原始流量到结构化特征数据的完整流程,为网络入侵检测、异常行为分析等研究提供高质量的数据支持。

无论是学术研究还是工业界应用,掌握CICFlowMeter的使用方法都将为网络安全数据分析工作带来显著效率提升。工具的开源特性也使其能够根据具体需求进行定制扩展,进一步拓展其应用范围。

【免费下载链接】CICFlowMeterCICFlowmeter-V4.0 (formerly known as ISCXFlowMeter) is an Ethernet traffic Bi-flow generator and analyzer for anomaly detection that has been used in many Cybersecurity datsets such as Android Adware-General Malware dataset (CICAAGM2017), IPS/IDS dataset (CICIDS2017), Android Malware dataset (CICAndMal2017) and Distributed Denial of Service (CICDDoS2019).项目地址: https://gitcode.com/gh_mirrors/ci/CICFlowMeter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考