Hussein-Furaty/IoT_Anomaly_Detection_Autoencoder
GitHub: Hussein-Furaty/IoT_Anomaly_Detection_Autoencoder
基于深度学习 Autoencoder 架构的 IoT 网络流量异常检测系统,通过重建误差阈值判定攻击行为并提供 Flask Web 界面。
Stars: 0 | Forks: 0
# IoT 异常检测系统
## 概述
本项目是一个基于深度学习(特别是 Autoencoder 架构)构建的高级 IoT 异常检测系统。该模型旨在分析网络流量数据,并识别 IoT 环境中潜在的恶意活动或异常情况。它包含一个由 Flask 驱动的用户友好型 Web 界面,允许用户上传网络数据(CSV)并获取即时的异常检测报告。
## 系统 Pipeline
```
graph TD
A[Raw Network Data / CSV] --> B[Data Preprocessing]
B --> C[Feature Scaling]
C --> D[Autoencoder Model Inference]
D --> E{Reconstruction Error > Threshold?}
E -- Yes --> F[Flag as Attack / Anomaly]
E -- No --> G[Flag as Normal Traffic]
F --> H[Web Dashboard Display]
G --> H
```
## 项目结构
```
IoT_Anomaly_Detection_Autoencoder/
|-- data/ # Datasets and uploaded files
|-- models/ # Saved Autoencoder models and scalers
|-- src/ # Core source code (preprocessing, training, detection)
|-- web/ # Flask web application (HTML/CSS/JS)
|-- main.py # Main entry point to start the application
|-- requirements.txt # Python dependencies
```
## 设置与安装
1. **克隆仓库:**
git clone https://github.com/Hussein-Furaty/IoT_Anomaly_Detection_Autoencoder.git
cd IoT_Anomaly_Detection_Autoencoder
2. **创建虚拟环境(可选但推荐):**
python -m venv venv
source venv/bin/activate # 在 Windows 上使用 `venv\Scripts\activate`
3. **安装依赖项:**
pip install -r requirements.txt
## 使用说明
1. **启动 Web 界面:**
运行 `main.py` 脚本以启动 Flask 开发服务器。
python main.py
2. **访问控制台:**
打开浏览器并访问 `http://127.0.0.1:5000`。
3. **检测异常:**
- 上传包含网络流量数据的 CSV 文件。
- 系统将处理数据,使用已加载的 Autoencoder 进行预测,并显示一份详细的报告,展示攻击百分比以及单条记录的状态。
## 作者
**Hussein Al-Furaty**
- 邮箱:hussein.a.habeeb.sec@gmail.com
标签:Flask, 异常检测, 深度学习, 物联网, 网络流量分析, 自编码器, 逆向工具