Bijoy-paul-01/Network_Intrusion_Detection_System

GitHub: Bijoy-paul-01/Network_Intrusion_Detection_System

基于NSL-KDD数据集,使用机器学习与深度学习方法检测并分类恶意网络流量的入侵检测系统。

Stars: 0 | Forks: 0

# 网络入侵检测系统 (NIDS) ## 概述 本项目使用 NSL-KDD 数据集实现了一个基于机器学习和深度学习的网络入侵检测系统 (NIDS)。其目标是检测恶意网络流量并准确分类各种攻击类型。 该系统执行数据预处理、特征工程、模型训练、评估、超参数调优和攻击预测。通过对比多种机器学习算法,以确定入侵检测中表现最佳的模型。 ## 目标 * 检测恶意网络流量。 * 对不同类型的网络攻击进行分类。 * 比较多种机器学习模型的性能。 * 构建用于入侵检测的深度学习模型。 * 保存训练好的模型以便未来部署。 ## 数据集 **使用的数据集:** NSL-KDD (KDDTrain+) 该数据集包含标记为正常或攻击流量的网络流量记录,并包含用于入侵检测的各种基于网络的特征。 ## 使用的技术 * Python * Pandas * NumPy * Matplotlib * Seaborn * Scikit-Learn * TensorFlow / Keras * Joblib * Jupyter Notebook ## 已实现的机器学习模型 ### Decision Tree Classifier 用于入侵检测性能的分类和比较。 ### Random Forest Classifier 用于提高预测准确率的集成学习算法。 ### Support Vector Machine (SVM) 用于网络流量的高维分类。 ### Artificial Neural Network (ANN) 使用 TensorFlow 和 Keras 开发的深度学习模型。 ## 项目工作流 1. 数据加载 2. 数据探索 3. 数据可视化 4. 标签编码 5. 特征缩放 6. 训练集与测试集划分 7. Decision Tree 训练 8. Random Forest 训练 9. Support Vector Machine 训练 10. 模型评估 11. 使用 GridSearchCV 进行超参数调优 12. 神经网络训练 13. 攻击预测 14. 模型保存 ## 功能 * 自动攻击分类 * 数据预处理 pipeline * 特征缩放与编码 * 多模型比较 * 超参数优化 * 神经网络实现 * 混淆矩阵可视化 * 分类报告 * 保存已训练的模型以便部署 ## 包含的文件 ``` Network_Intrusion_Detection_System/ │ ├── notebooks/ │ └── NIDS_Project.ipynb │ ├── data/ │ └── KDDTrain+.txt │ ├── models/ │ ├── best_rf_model.pkl │ ├── scaler.pkl │ ├── label_encoders.pkl │ └── attack_encoder.pkl │ ├── requirements.txt ├── README.md └── .gitignore ``` ## 安装说明 克隆仓库: git clone https://github.com/Bijoy-paul-01/Network_Intrusion_Detection_System.git 移动到项目目录: cd Network_Intrusion_Detection_System 安装依赖项: pip install -r requirements.txt ## 运行项目 1. 打开 Jupyter Notebook。 2. 打开 NIDS_Project.ipynb。 3. 按顺序运行所有单元格。 4. 查看模型训练和评估结果。 5. 使用示例网络流量测试攻击检测。 ## 结果 该项目评估了以下模型的性能: * Decision Tree * Random Forest * Support Vector Machine * Artificial Neural Network Random Forest 取得了最佳性能,并被选为最终的预测模型。 ## 未来增强功能 * 实时数据包监控 * 基于 Web 的仪表板 * Flask/FastAPI 部署 * 云部署 * 实时网络流量分析 * 与网络安全监控工具集成 ## 作者 Bijoy Paul 计算机应用硕士 | 数据科学爱好者 ## 许可证 本项目为教育目的而开发。
标签:Apex, NoSQL, NSL-KDD, Python, TensorFlow, 入侵检测系统, 安全数据湖, 无后门, 机器学习, 深度学习, 网络安全, 逆向工具, 隐私保护