Abhi1366-create/Intrusion-detection-ml

GitHub: Abhi1366-create/Intrusion-detection-ml

基于 NSL-KDD 数据集的机器学习入侵检测系统,支持攻击检测与分类并提供可视化仪表板。

Stars: 1 | Forks: 0

# AI 入侵检测系统 一个使用 nsl-kdd 数据集检测和分类网络攻击的机器学习系统 ## 预览
显示日志、攻击分布和模拟结果的仪表板 ## 概述 本项目使用两阶段方法构建了一个简单的入侵检测系统 - 阶段 1 检测流量是正常还是攻击 - 阶段 2 将攻击分类为 dos、probe、r2l、u2r 它还包括一个用于可视化结果和模拟攻击的仪表板 ## 功能 - 二元和多类分类 - 使用 Streamlit 的仪表板 - 攻击模拟 - 日志和图表 - 独立的测试脚本 ## 项目结构 ml-workspace/ - train.py - ui.py - test.py data/ - kddtrain+.txt - kddtest+.txt models/ - binary_model.pkl - multi_model.pkl - preprocessor.pkl - label_encoder.pkl readme.md requirements.txt .gitignore ## 设置 打开你的项目文件夹 cd ml-workspace 创建所需的文件夹 mkdir data mkdir models 安装依赖 pip install pandas numpy scikit-learn xgboost streamlit joblib ## 数据集 从以下地址下载 nsl-kdd 数据集 https://web.archive.org/web/20150205070216/http://nsl.cs.unb.ca/nsl-kdd/ 你只需要这些文件 - kddtrain+.txt - kddtest+.txt 按如下方式放置它们 ml-workspace/data/ - kddtrain+.txt - kddtest+.txt ## 运行项目 训练模型 python train.py 运行仪表板 streamlit run ui.py 运行测试脚本(可选) python test.py ## 使用说明 手动模式 - 在侧边栏中输入值 - 点击运行检测 - 检查日志 模拟模式 - 选择攻击类型 normal / dos / probe / r2l / u2r - 点击运行模拟 - 查看日志和图表 ## 输出 - 预测结果(正常或攻击) - 攻击类型 - 置信度分数 - 风险等级 - 日志 - 图表 ## 重要提示 - 不包含数据集 - 在运行 ui.py 之前运行 train.py - 数据集必须放在 data 文件夹内 ## 常见错误 找不到数据集 将 kddtrain+.txt 和 kddtest+.txt 放入 data 文件夹中 找不到模型 运行 python train.py ## 作者 Abhishek
标签:AMSI绕过, Apex, CISA项目, DoS检测, Kubernetes, NSL-KDD, Python, Scikit-learn, Streamlit, XGBoost, 二元分类, 仪表盘, 入侵检测系统, 多分类, 威胁检测, 安全数据湖, 密码管理, 异常检测, 探测攻击, 攻击分类, 数据科学, 无后门, 机器学习, 网络安全, 网络流量分析, 访问控制, 资源验证, 逆向工具, 隐私保护