地址:www.detection.xin
截图:

观察到当项目部署在linux服务器上时,由于tcpdump程序存在退出异常问题,导致其抓到的pcap文件包无法被系统自动清除,可能导致服务器磁盘爆满的情况,需要手动在控制台输入sudo pkill tcpdump来停止抓包进程,然后将抓包的文件(存放于/var/log/traffic_captures/)进行删除,即可成功释放空间
MTD(Malicious Traffic Detection) 是一个基于深度学习和集成学习的网络入侵检测系统。该系统提供恶意流量检测、数据增强、模型管理、实时流量监控等功能。 反馈邮箱: q2205773452@163.com 如发送邮箱请说明来意
- 后端框架 : Django 3.2.12
- 数据库 : MySQL 8.0+
- 前端 : Bootstrap 5.3.5 + ECharts + Three.js
- 机器学习 : 支持CNN、RNN、LSTM、TCN、BiLSTM、BiTCN等模型
- 数据增强 : 基于改进扩散模型的数据增强技术
- Python 3.9+
- MySQL 8.0+
- Git
# 1. 克隆项目
git clone https://github.com/SolitudeZY/
MTD-ISC.git
cd MTD-ISC
# 2. 创建虚拟环境
python -m venv venv
venv\Scripts\activate # Windows
# 3. 安装依赖
pip install -r requirements.txt
- 创建数据库 :
CREATE DATABASE MTD_DMSE CHARACTER SET
utf8mb4;
- 修改配置 : 编辑 WEB_APP/APP_core/settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'MTD_DMSE',
'USER': '你的用户名',
'PASSWORD': '你的密码',
'HOST': 'localhost',
'PORT': '3306',
}
}
- 导入数据 : 使用Navicat等工具导入 mtd-dmse_mysql_data.sql
- 执行迁移 :
cd WEB_APP
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
由于本项目依赖于一些其他资源文件(如数据增强模块),请自行创建相应的同名文件在WEB_APP\media 文件夹中。
- 在
media\source中,请确保ema_0.9999_017000.pt、samples.npz、Improved_diffusion_module.zip等文件存在,这是保证数据增强模块正常运行的必须文件; - 在
\media\models文件夹中,请使用本系统来上传文件并确保文件存在,Django会自动检查文件是否存在,若没有则会报错; - 在
media\datasets也请确保使用本系统上传数据集文件(可以是同名文件,只要存在即可),不然Django会报错 media\avatars是存放各个用户头像的文件夹- 模型介绍用的PDF和滚动播放的图片在
MTD-ISC/WEB_APP/MTD/static/assets/下,如有需要请修改对应代码和图片 - 数据库若使用本仓库提供的SQL文件可能导致模型管理和数据集管理模块报错(也可能一登录就报错),因为你的本地文件中没有我上文提到的一些数据集和模型的真实文件
- 模型的检测效果是随机数,可以在views.py中修改相关代码
MTD-ISC/
├── WEB_APP/ # Django项目根
目录
│ ├── APP_core/ # 项目配置
│ │ ├── settings.py # 主配置文件
│ │ └── urls.py # 主路由
│ ├── MTD/ # 主应用
│ │ ├── detection_module/ # 检测算法模块
│ │ ├── Improved_diffusion_module/ # 数据增强模块
│ │ ├── linux_traffic/ # Linux流量捕获
│ │ ├── static/ # 静态文件
│ │ ├── templates/ # HTML模板
│ │ ├── models.py # 数据模型
│ │ ├── views.py # 视图函数
│ │ └── urls.py # 应用路由
│ └── media/ # 上传文件存储
├── requirements.txt # 依赖包列表
├── mtd-dmse_mysql_data.sql # 数据库初始化脚本
└── README.md # 项目说明
- 用户注册、登录、个人信息管理
- 基于Django内置认证系统
- 支持多种深度学习模型上传和管理
- 模型性能评估和版本控制
- 文件位置: MTD/detection_module/
- 支持PCAP、CSV、图像等多种格式
- 数据集上传、编辑、删除功能
- 数据统计和可视化
- 实时流量分析和威胁检测
- 多模型集成检测
- 检测结果可视化和报告生成
- 基于改进扩散模型的数据增强
- 支持自定义训练参数
- 文件位置: MTD/Improved_diffusion_module/
- Windows: 基于WinPcap/Npcap
- Linux: 基于tcpdump
- 实时流量监控和存储
- ECharts图表展示
- 3D态势感知界面
- 实时数据更新
- 创建新视图 : 在 views.py 中添加视图函数
- 配置路由 : 在 urls.py 中添加URL映射
- 创建模板 : 在 templates/ 中添加HTML文件
- 添加静态文件 : 在 static/ 中添加CSS/JS文件
- 修改模型 : 编辑 models.py
- 生成迁移 : python manage.py makemigrations
- 执行迁移 : python manage.py migrate
- 开启调试模式 : settings.py 中设置 DEBUG = True
- 查看日志 : 检查 logs/ 目录下的日志文件
- 使用Django shell : python manage.py shell
- 检查MySQL服务是否启动
- 验证数据库配置信息
- 确认用户权限
- 运行 python manage.py collectstatic
- 检查 STATIC_URL 和 STATIC_ROOT 配置
- 检查模型文件格式和路径
- 验证文件权限
- 查看错误日志
- Windows: 安装WinPcap或Npcap
- Linux: 确认tcpdump权限
- 检查网络接口配置
- 使用Django内置服务器
- 设置 DEBUG = True
- 使用Nginx + uWSGI
- 设置 DEBUG = False
- 配置HTTPS和安全设置
- 参考 docker-compose.yml 和 nginx.conf
- GitHub Issues: https://github.com/SolitudeZY/MTD-ISC/issues
- 项目文档: 查看各模块的README文件
- 代码注释: 关键函数都有详细注释
本项目采用MIT许可证,详见LICENSE文件。
