# SentriX IDS **Repository Path**: mindsynt/c4-sdnids ## Basic Information - **Project Name**: SentriX IDS - **Description**: 灵枢IDS,基于SDN网络构建的深度学习流量可视化分析入侵检测系统 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2025-07-22 - **Last Updated**: 2025-07-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 灵枢IDS - 深度学习轻量级入侵检测系统 ## 项目简介 灵枢IDS是一个基于深度学习的轻量级入侵检测系统,集成了先进的机器学习算法、AI智能分析和实时网络监控功能。系统采用现代化的Web界面,提供高效、精准的网络威胁检测和智能化的安全分析能力,特别适用于中小型网络环境的实时安全防护。 ## 系统特点 ### 核心技术 - **深度学习**: 基于深度神经网络的智能威胁检测 - **轻量级架构**: 优化的算法设计,低资源消耗 - **机器学习**: 集成随机森林、SVM等多种算法 - **AI分析**: 集成DeepSeek API进行智能安全分析 - **实时监控**: 毫秒级的网络流量监控和分析 ### 数据处理 - **CICIDS2017支持**: 完整支持CICIDS2017数据集 - **深度特征学习**: 自动学习网络流量深层特征 - **智能数据预处理**: 自动数据清洗、标准化和增强 - **跨平台兼容**: 支持Windows、Linux、Mac系统 - **轻量级存储**: 优化的数据存储格式,减少磁盘占用 ### 用户界面 - **现代化设计**: 基于Vue.js的响应式Web界面 - **实时可视化**: 动态图表和实时数据更新 - **系统监控**: 集成CPU、内存、网络使用监控 - **交互式分析**: 支持AI对话和智能分析 ### 安全功能 - **深度学习检测**: 基于深度神经网络的精准攻击识别 - **轻量级响应**: 快速、低延迟的威胁响应机制 - **智能威胁分析**: AI驱动的威胁情报分析和预测 - **自适应学习**: 持续学习新威胁模式,提升检测能力 - **完整审计**: 详细的攻击日志和安全事件记录 ## 主要功能 ### 1. 网络监控 - 实时流量监控和分析 - 网络拓扑可视化 - 设备负载监控 - 异常流量检测 ### 2. 深度学习检测 - 基于深度神经网络的智能攻击识别 - 支持DDoS、SQL注入、XSS等多种攻击类型 - 实时告警和智能通知 - 攻击模式分析和趋势预测 - 自适应模型更新和优化 ### 3. AI分析 - 智能攻击事件分析 - 威胁情报集成 - 防护建议生成 - 自然语言交互 ### 4. 系统管理 - 实时系统资源监控 - 性能指标统计 - 配置管理界面 - 日志查看和分析 ## 技术架构 ### 前端技术栈 - **Vue.js**: 现代化的前端框架 - **Element UI**: 组件库 - **ECharts**: 数据可视化 - **WebSocket**: 实时通信 ### 后端技术栈 - **Python**: 主要开发语言 - **Flask**: 轻量级Web框架 - **TensorFlow/PyTorch**: 深度学习框架 - **Scikit-learn**: 机器学习库 - **NumPy/Pandas**: 数据处理库 ### 数据存储 - **CSV**: 数据集存储 - **JSON**: 配置和日志 - **HDF5**: 高效模型存储 - **Redis**: 高性能缓存 - **SQLite**: 轻量级数据库 ## 系统要求 ### 推荐环境 - **操作系统**: Ubuntu 20.04 LTS - **Python版本**: 3.8+ - **Node.js版本**: 14+ - **内存要求**: 4GB RAM - **存储空间**: 至少10GB可用空间 - **GPU**: NVIDIA GPU (可选,用于加速深度学习) ### 最低要求 - **操作系统**: Linux (Ubuntu 18.04+ / CentOS 7+) - **Python版本**: 3.7+ - **Node.js版本**: 12+ - **内存要求**: 4GB RAM - **存储空间**: 5GB可用空间 - **CPU**: 支持AVX指令集 ## 快速开始 ### 1. 环境准备 ```bash # 克隆项目 git clone https://gitee.com/RSTPEAK/c4-sdnids.git cd c4-sdnids # 安装Python依赖 pip install -r requirements-minimal.txt # 安装Node.js依赖 cd c4-ui && npm install && cd .. ``` ### 2. 配置DeepSeek API(必需) ```bash # 编辑配置文件 vim ~/.bashrc # 在文件末尾添加以下内容 export DEEPSEEK_API_KEY=your_api_key_here export DEEPSEEK_BASE_URL=https://api.deepseek.com # 保存并退出: 按 ESC,输入 :wq 回车 # 重新加载配置 source ~/.bashrc ``` ### 3. 启动服务 **方式1: 使用启动脚本(推荐)** ```bash chmod +x start.sh ./start.sh ``` **方式2: 手动启动** ```bash # 终端1 - 启动后端 cd c4-system/APILayer python app.py # 终端2 - 启动前端 cd c4-ui npm start ``` ### 4. 访问系统 - **前端界面**: http://localhost:3000 - **API接口**: http://localhost:5000 ## 项目结构 ``` c4-sdnids/ ├── c4-ui/ # 前端界面 │ ├── src/ │ │ ├── views/ # 页面组件 │ │ ├── api/ # API接口 │ │ └── assets/ # 静态资源 │ └── package.json ├── c4-system/ # 后端系统 │ ├── APILayer/ # API服务层 │ │ ├── app.py # Flask应用 │ │ ├── ai_analyzer.py # AI分析服务 │ │ └── system_monitor.py # 系统监控 │ ├── ControlLayer/ # 控制层 │ │ ├── controller.py # 深度学习控制器 │ │ ├── train_model.py # 模型训练 │ │ ├── deep_learning.py # 深度学习模型 │ │ └── cicids2017_processor.py # 数据处理 │ └── DataLayer/ # 数据层 │ └── CreateNetwork.py # 网络创建 ├── IDS2017CSV/ # CICIDS2017数据集 ├── models/ # 深度学习模型 ├── requirements.txt # Python依赖 ├── requirements-minimal.txt # 最小化依赖 ├── 系统运行文档.md # 详细运行文档 └── README.md # 项目说明 ``` ## 功能模块 ### 1. 数据层 (DataLayer) - 网络流量数据收集 - 实时数据预处理和清洗 - 特征工程和数据增强 ### 2. 控制层 (ControlLayer) - 深度学习模型管理 - 智能攻击检测算法 - 模型训练和优化 - 自适应学习机制 ### 3. API层 (APILayer) - RESTful API接口 - AI智能分析服务 - 实时系统监控服务 - 轻量级数据处理 ### 4. 前端层 (c4-ui) - 现代化Web用户界面 - 实时数据可视化 - 智能告警和通知 - 交互式安全分析 ## 系统要求 ### 推荐环境 - **操作系统**: Ubuntu 20.04 LTS - **Python版本**: 3.8+ - **Node.js版本**: 14+ - **内存要求**: 4GB RAM - **存储空间**: 至少10GB可用空间 - **GPU**: NVIDIA GPU (可选,用于加速深度学习) ### 最低要求 - **操作系统**: Linux (Ubuntu 18.04+ / CentOS 7+) - **Python版本**: 3.7+ - **Node.js版本**: 12+ - **内存要求**: 4GB RAM - **存储空间**: 5GB可用空间 - **CPU**: 支持AVX指令集 ## 环境配置 ### 1. 系统环境准备 ```bash # 更新系统包 sudo apt update && sudo apt upgrade -y # 安装基础依赖 sudo apt install -y python3 python3-pip python3-venv nodejs npm git curl wget # 安装Python开发工具 sudo apt install -y python3-dev build-essential # 安装网络工具 sudo apt install -y net-tools iproute2 # 安装SDN相关工具 sudo apt install -y openvswitch-switch openvswitch-common pip3 install ryu ``` ### 2. DeepSeek API配置(必需) ```bash # 编辑配置文件 vim ~/.bashrc # 在文件末尾添加以下内容 export DEEPSEEK_API_KEY=your_api_key_here export DEEPSEEK_BASE_URL=https://api.deepseek.com # 保存并退出: 按 ESC,输入 :wq 回车 # 重新加载配置 source ~/.bashrc ``` ### 3. 系统环境变量 ```bash # 设置系统变量 export FLASK_ENV=development export FLASK_DEBUG=1 export PYTHONPATH=$PYTHONPATH:$(pwd)/c4-system ``` ### 4. 数据集配置 - 支持CICIDS2017数据集 - 自动检测IDS2017CSV目录 - 支持自定义数据集格式 - 深度学习数据增强 - 自动特征选择和优化 ## 常用命令 ### SDN网络管理 ```bash # Open vSwitch管理 sudo systemctl start openvswitch-switch sudo ovs-vsctl show sudo ovs-vsctl add-br br0 sudo ovs-vsctl add-port br0 eth0 # Ryu控制器 pip3 install ryu ryu-manager --verbose controller.py pkill -f ryu-manager ``` ### 系统管理 ```bash # 进程管理 ps aux | grep python pkill -f app.py netstat -tulpn | grep :5000 # 日志查看 tail -f logs/system.log tail -f logs/api.log # 权限修复 sudo chown -R $USER:$USER c4-sdnids/ chmod -R 755 c4-sdnids/ ``` ### 防火墙配置 ```bash # Ubuntu/Debian sudo ufw enable sudo ufw allow 22 sudo ufw allow 3000 sudo ufw allow 5000 # CentOS/RHEL sudo systemctl start firewalld sudo firewall-cmd --permanent --add-port=22/tcp sudo firewall-cmd --permanent --add-port=3000/tcp sudo firewall-cmd --permanent --add-port=5000/tcp sudo firewall-cmd --reload ``` ## 开发指南 ### 代码规范 - 遵循PEP 8 Python代码规范 - 使用ESLint进行前端代码检查 - 添加适当的注释和文档 ### 测试 ```bash # 运行Python测试 python -m pytest tests/ # 运行前端测试 cd c4-ui && npm test ``` ### 贡献指南 1. Fork项目 2. 创建功能分支 3. 提交代码更改 4. 创建Pull Request ## 许可证 本项目采用MIT许可证,详见LICENSE文件。 ## 联系方式 - **项目地址**: https://gitee.com/RSTPEAK/c4-sdnids - **问题反馈**: 1948772900@qq.com - **技术支持**: JCUTSEC ## 更新日志 ### v1.0.0 (2025-07) - 灵枢IDS初始版本发布 - 深度学习轻量级架构 - 智能AI分析集成 - 实时系统监控功能 - CICIDS2017数据集支持 - 自适应学习机制 --- **项目维护者**: JCUTSEC **最后更新**: 2025年7月 **项目状态**: 活跃开发中