恶意流量检测平台

作品简介


基于PyQt5的恶意加密流量检测平台,支持多种深度学习与传统机器学习模型,提供批量检测、模型对比、可视化分析和历史记录管理功能。

🚀 新增功能

1. 批量文件检测

  • 支持同时选择多个CSV文件进行批量检测
  • 实时进度显示
  • 批量结果导出

2. 模型性能对比

  • 同时运行多个模型进行对比
  • 对比结果表格展示
  • 可视化对比图表(准确率、推理时间)
  • 集成学习投票功能

3. 可视化分析

  • 检测结果分布饼图
  • 各类别数量柱状图
  • 置信度分布直方图
  • 混淆矩阵热力图
  • 图表导出功能(PNG/PDF)

4. 历史记录管理

  • SQLite数据库存储检测历史
  • 历史记录查询与筛选
  • 统计信息展示
  • CSV导出功能

5. 实时流量检测 ⭐ 新功能

  • 实时网卡流量捕获(基于Scapy)
  • 支持BPF过滤器(tcp/udp/icmp等)
  • 实时流特征提取(78维特征)
  • 实时恶意流量检测与告警
  • 告警阈值自定义
  • 检测结果显示与统计

📁 项目结构

project/
├── gui/                      # GUI界面模块
│   ├── __init__.py
│   └── main_window.py       # 主窗口(Tab页布局)
├── core/                     # 核心功能
│   ├── __init__.py
│   └── detection_engine.py  # 检测引擎
├── models/                   # 模型定义
│   ├── __init__.py
│   ├── cnn_models.py        # CNN模型
│   ├── lstm_models.py       # LSTM模型
│   └── ml_models.py         # 传统机器学习模型
├── utils/                    # 工具函数
│   ├── __init__.py
│   ├── visualization.py     # 可视化工具
│   └── database.py          # 数据库操作
├── realtime/                 # 实时检测
│   ├── __init__.py
│   ├── packet_capture.py    # 数据包捕获
│   └── feature_extractor.py # 特征提取
├── assets/                   # 资源文件
│   ├── icons/
│   └── styles/
├── main.py                   # 新入口文件
├── run_mywindow.py          # 原入口文件(保留兼容)
└── detection_history.db     # 历史记录数据库

🛠️ 支持的模型

模型

类型

状态

ICNN

改进卷积神经网络

✅ 可用

LSTM

长短期记忆网络

✅ 可用

随机森林

传统机器学习

⚠️ 版本兼容问题

逻辑回归

传统机器学习

✅ 可用

📊 检测类别

  • BENIGN - 正常流量
  • Bot - 僵尸网络
  • DDoS - 分布式拒绝服务
  • DoS GoldenEye - GoldenEye拒绝服务
  • DoS Hulk - Hulk拒绝服务
  • DoS Slowhttptest - Slowhttptest攻击
  • DoS slowloris - Slowloris攻击
  • FTP-Patator - FTP暴力破解
  • Heartbleed - 心脏出血漏洞
  • Infiltration - 渗透攻击
  • PortScan - 端口扫描
  • SSH-Patator - SSH暴力破解
  • Web Attack - Web攻击(多种)

🚀 快速开始

运行新版本

python main.py

运行旧版本(兼容)

python run_mywindow.py

📝 使用说明

1. 流量检测

  1. 切换到"🔍 流量检测"标签页
  2. 点击"🎲 随机加载样本"或"📂 加载CSV文件"
  3. 选择要使用的模型(可多选)
  4. 点击"▶️ 开始检测"
  5. 查看检测结果和统计信息

2. 批量检测

  1. 切换到"📁 批量检测"标签页
  2. 点击"📂 选择文件"选择多个CSV文件
  3. 选择检测模型
  4. 点击"▶️ 开始批量检测"
  5. 查看批量检测结果

3. 模型对比

  1. 先加载数据(在流量检测页)
  2. 切换到"📊 模型对比"标签页
  3. 选择要对比的模型(至少2个)
  4. 点击"▶️ 运行对比"
  5. 查看对比表格和可视化图表

4. 可视化分析

  1. 完成检测后,切换到"📈 可视化分析"标签页
  2. 选择图表类型
  3. 点击"📊 生成图表"
  4. 可选择"💾 保存图表"导出

5. 历史记录

  1. 切换到"📜 历史记录"标签页
  2. 查看所有检测历史
  3. 可导出CSV或删除记录

🔧 系统要求

  • Python 3.7+
  • PyQt5
  • PyTorch
  • scikit-learn
  • pandas
  • numpy
  • matplotlib









创作时间: