Marta-Paras-Gutierrez/iot-anomaly-detection-system
GitHub: Marta-Paras-Gutierrez/iot-anomaly-detection-system
基于机器学习的物联网流量监控与异常检测系统,提供从网络模拟、流量捕获到模型分析与可视化的完整 pipeline。
Stars: 0 | Forks: 0
# 智能 IoT 流量监控与异常检测系统
一个使用 Machine Learning、GNS3、Wireshark 和 Python 的智能 IoT 网络流量监控与异常检测系统。






## 项目概述
本项目展示了用于在模拟 IoT 环境中监控网络流量和检测异常的模块化系统的设计与实现。
该工作流集成了 IoT 网络模拟、流量捕获、数据预处理、特征提取和 Machine Learning 技术,以分析网络行为并识别异常活动。
该项目完全使用 Python 开发,并包含一个用于可视化模型性能和检测结果的交互式仪表板。
## 目标
本项目的主要目标是通过 Machine Learning 技术开发一个能够检测 IoT 网络环境中异常行为的模块化且可扩展的系统。
该系统旨在:
- 模拟真实的 IoT 流量场景
- 捕获并分析网络行为
- 识别异常流量模式
- 比较有监督和无监督的 ML 方法
- 提供用于监控和分析的交互式可视化工具
## 技术栈
- Python
- Machine Learning
- GNS3
- Wireshark / Tshark
- Streamlit
- Pandas
- Scikit-learn
- Matplotlib
- 网络流量分析
## 系统可视化
### 家用 IoT 拓扑

### 工业 IoT 拓扑

### 正常流量监控

### 工业流量分析

### 无法到达目标异常

### 模拟重连异常

## 生成的可视化图表
### 模型对比

### 按捕获次数的异常检测

### 随机森林混淆矩阵

## 功能特性
- IoT 网络模拟
- 流量捕获与预处理
- 特征提取
- 有监督异常检测
- 无监督异常检测
- 自动生成可视化
- 交互式 Streamlit 仪表板
- 模块化架构
## 项目状态
项目已完成,并包含完整的 IoT 流量分析 pipeline:
- PCAP 流量处理
- 数据集预处理
- 统计特征提取
- 有监督和无监督 Machine Learning
- 模型评估
- 网络异常检测
- 交互式 Streamlit 仪表板
## 项目工作流
```
IoT Devices
│
▼
GNS3 Simulated Network
│
▼
Traffic Capture (Wireshark/TShark)
│
▼
Data Processing Pipeline
│
▼
Machine Learning Models
│
▼
Interactive Dashboard (Streamlit)
```
## 仓库结构
```
iot-anomaly-detection-system/
│
├── captures/
├── data/
├── images/
├── models/
├── notebooks/
├── results/
├── src/
│ ├── data_processing/
│ ├── detection/
│ ├── machine_learning/
│ ├── visualization/
│ ├── config.py
│ ├── utils.py
│ └── main.py
├── .gitignore
├── LICENSE
├── README.md
└── requirements.txt
```
## 安装说明
克隆仓库:
```
git clone https://github.com/Marta-Paras-Gutierrez/iot-anomaly-detection-system.git
cd iot-anomaly-detection-system
```
创建虚拟环境(推荐):
```
python -m venv .venv
```
激活虚拟环境。
**Windows**
```
.venv\Scripts\activate
```
**Linux / macOS**
```
source .venv/bin/activate
```
安装项目依赖:
```
pip install -r requirements.txt
```
## 使用说明
该项目包含一个控制台应用程序,允许独立执行 pipeline 的每个阶段或运行完整的工作流。
启动主菜单:
```
python -m src.main
```
或者,可以直接启动交互式仪表板:
```
streamlit run src/visualization/dashboard.py
```
可用模块包括:
- PCAP 处理
- 数据集预处理
- 特征提取
- Machine Learning 模型训练
- 模型评估
- 流量异常检测
- 可视化生成
- 交互式仪表板
## 未来改进
未来可能的扩展方向包括:
- 实时流量监控
- 支持额外的 IoT 协议
- 基于 Deep Learning 的异常检测
- Docker 部署
- 自动生成警报
## 许可证
本项目基于 MIT License 授权。有关更多详细信息,请参阅 [LICENSE](LICENSE) 文件。
## 作者
**Marta Parás**
标签:Apex, GNS3, Kubernetes, Streamlit, Wireshark, 句柄查看, 异常检测, 机器学习, 物联网, 网络流量分析, 访问控制, 逆向工具