ursuswh-metamorphic/D-NIPS_NT106

GitHub: ursuswh-metamorphic/D-NIPS_NT106

这是一个分布式网络入侵检测系统,通过机器学习和规则引擎实现实时流量监控与异常检测。

Stars: 3 | Forks: 2

# 实时数据包嗅探与异常检测系统,集成分布式网络入侵检测(D-NIDS) 这是一个集成了分布式网络入侵检测系统(D-NIDS)的实时数据包监控系统。它在分布式客户端捕获实时网络流量,使用机器学习检测异常,并通过集中式的基于 Suricata 的规则引擎确认威胁。 ## 项目概述 该系统提供去中心化和可扩展的入侵检测功能,利用: - 客户端节点的实时边缘异常检测 - 集中式服务器上基于 Suricata 规则的验证 - 用于实时告警可视化的 PySide6 仪表盘 - 加密通信与数据库持久化 ## 系统架构 ``` D-NIDS/ ├── Client/ # Packet sniffing, feature extraction, ML detection ├── Dashboard/ # GUI visualization using PySide6 + Flask API ├── Server/ # Suricata-based IDS + PostgreSQL storage ├── net_pro/ # Optional network utilities ├── generated-files/ # CSS and UI assets ├── run_client.sh # Launch client node ├── run_server.sh # Launch Suricata server ├── run_das.sh # Launch dashboard ├── run_all.sh # Orchestrator for full system └── requirements.txt # Python dependencies ``` ### 客户端功能 - 通过 `pcap`/`dpkt` 捕获流量 - 提取特征:数据包长度、时间差、IP地址、端口、流 - 使用 `IsolationForest`(scikit-learn)进行异常检测 - 通过 TCP 发送 JSON 告警(使用 AES 加密) - 丰富的命令行日志记录和可选的 PySide6 图形界面 ### 仪表盘功能 - 使用 PySide6 和 Qt Designer 构建的图形用户界面 - 通过 Flask API 与客户端通信 - 显示数据包摘要、异常分数和告警历史 ### 服务器功能 - 接收来自客户端的加密异常报告 - 将 JSON 转换为 PCAP 进行深度检查 - 对可疑流量进行基于 Suricata 规则的检测 - 生成包含告警严重性的 HTML 报告 - 将日志存储在 PostgreSQL 中 - 针对高严重性告警发送电子邮件通知 ## 安全性 - 使用 Diffie-Hellman 密钥交换建立安全会话 - 使用带随机初始向量的 AES-256-CBC 对称加密 - 使用消息长度前缀的 TCP 套接字帧 ## 示例场景 ### 场景 1 – 多网络监控 部署在不同网络区域的客户端连接到服务器,并流式传输加密的异常事件。 ### 场景 2 – DDoS ICMP 检测 服务器通过 Suricata 识别 ping 洪泛攻击并触发实时电子邮件告警。 ## 部署说明 ### 前置条件 - Python 3.7 - PostgreSQL 13+ - Suricata IDS - Linux 操作系统双启动版本 - PySide6 - 最新版本 ### 安装 ``` pip install -r requirements.txt ``` ### 运行系统 ``` ./run_all.sh # Start all components ./run_server.sh # Start server ./run_client.sh --interface eth0 # Start client ./run_das.sh # Start dashboard ``` ## 代码仓库 GitHub: https://github.com/ursuswh-metamorphic/D-NIPS_NT106 ## 演示 Screenshot 2026-05-20 205320 Screenshot 2026-05-20 205946 Screenshot 2026-05-20 210052 Screenshot 2026-05-20 210026 要查看项目的操作流程,可以在此处观看演示视频: [![Google Drive](https://img.shields.io/badge/Google%20Drive-Video%20Demo-yellow?style=for-the-badge&logo=googledrive&logoColor=white)](https://drive.google.com/drive/folders/1vw7LXJQ3Ick8RxU8MWXLfjgqUCHScUJQ?usp=drive_link)
标签:Apex, GUI仪表板, Homebrew安装, Metaprompt, Python编程, Suricata规则引擎, 入侵检测系统, 分布式架构, 加密通信, 告警可视化, 威胁情报, 安全数据湖, 客户端-服务器模型, 开发者工具, 异常检测, 数据库持久化, 机器学习, 测试用例, 网络安全, 边缘计算, 逆向工具, 隐私保护