DeepthiMaleka-40/Network-Threat-Monitoring-Traffic-Intelligence-Platform-
GitHub: DeepthiMaleka-40/Network-Threat-Monitoring-Traffic-Intelligence-Platform-
这是一个基于 Python 和 Flask 的生产级网络流量分析与入侵检测系统,提供实时数据包捕获、多级威胁告警及可视化仪表板。
Stars: 0 | Forks: 0
# 网络威胁监控流量情报平台






**生产级网络运维与安全监控平台**
*实时数据包捕获 · 多级入侵检测 · 实时分析仪表板*
## 🔍 概述
**SentinelNode** 是一个专为安全工程师、网络运维团队和研究环境打造的专业级网络流量分析与入侵检测系统(IDS)。它通过实时数据包检测、行为异常检测和实时可视化分析,将原始网络流量转化为可执行的安全情报——所有这些都通过一个时尚的企业级 Web 仪表板呈现。
该平台架构为两个紧密集成的组件:
| 组件 | 用途 |
|-----------|---------|
| `packet_sniffer/` | 可复用 Python 库——捕获、分析、检测、日志记录 |
| `webapp/` | 基于 Flask 的 Web 仪表板——实时 UI、图表、告警控制台 |
## ✨ 功能亮点
### 🛡️ 入侵检测引擎
- **4 级严重性分类**:`CRITICAL` → `HIGH` → `MEDIUM` → `LOW`
- **DDoS 模式检测**:滑动时间窗口分析,标记超过可配置数据包速率阈值的 IP 地址
- **非标准端口检测**:识别已知服务范围之外的临时端口和可疑端口上的流量
- **未知协议标记**:检测并提醒未识别或意外的协议使用情况
- **实时告警控制台**:带有源元数据的彩色编码安全事件日志
### 📊 实时分析仪表板
- **流量量时间线**:每秒数据包数折线图,实时更新
- **协议分布**:显示 TCP / UDP / ICMP / HTTP / HTTPS 占比的圆环图
- **告警严重性分布**:覆盖所有 4 个严重性级别的柱状图
- **KPI 卡片**:数据包计数、严重告警、高/中危事件的即时读数
### 🔄 双捕获模式
| 模式 | 描述 |
|------|-------------|
| **Live Capture** | 通过 Scapy 在选定网络接口上进行原始 Socket 捕获 |
| **Simulation** | 生成现实模式的合成流量生成器,包括攻击突发 |
### 📝 结构化事件日志
每个检测到的数据包都会被记录到 `logs/traffic.log`,并包含完整的取证元数据:
```
2026-04-05 17:00:00 | SRC=192.168.1.42 | DST=203.0.113.5 | PROTO=TCP | PORT=443 | SEVERITY=SAFE
2026-04-05 17:00:01 | SRC=203.0.113.99 | DST=192.168.1.10 | PROTO=UDP | PORT=4444 | SEVERITY=CRITICAL
```
## 🏗️ 架构
```
Packet-Sniffer/
│
├── packet_sniffer/ # Core networking library (reusable)
│ ├── __init__.py # Public package API
│ ├── sniffer.py # Capture engine + IDS pipeline orchestrator
│ ├── analyzer.py # Deep packet inspection (Scapy layer decode)
│ ├── alert_engine.py # Multi-severity IDS rule engine
│ ├── logger.py # Structured forensic event logger
│ └── simulator.py # Synthetic traffic generator
│
├── webapp/ # Web dashboard (Flask)
│ ├── app.py # REST API backend
│ ├── templates/
│ │ └── index.html # Enterprise dashboard UI
│ └── static/
│ ├── style.css # Premium dark UI stylesheet
│ └── script.js # Real-time data engine + Chart.js
│
├── logs/
│ └── traffic.log # Persistent structured event log
│
├── requirements.txt
├── pyproject.toml
└── README.md
```
### 数据流
```
Network Interface / Simulator
│
▼
PacketAnalyzer ← Decodes IP, TCP, UDP, ICMP headers
│
▼
AlertEngine ← Applies IDS rules, assigns severity
│
┌────┴────┐
▼ ▼
TrafficLogger NetworkSniffer.packet_queue
(logs/traffic.log) │
▼
Flask REST API
│
▼
Browser Dashboard
(Charts · Table · Alerts)
```
## ⚙️ 安装说明
### 前置条件
| 要求 | 备注 |
|-------------|-------|
| Python 3.8+ | 在 3.11 版本上测试 |
| pip | 随 Python 一起提供 |
| Npcap (Windows) | 仅 **Live Capture** 模式需要 |
| Admin / Root | 需要 raw socket 访问权限 |
**仅限 Windows —— 安装 Npcap 以进行实时捕获:**
👉 [https://nmap.org/npcap/](https://nmap.org/npcap/) — 勾选 *"WinPcap API-compatible Mode"*
### 安装
```
# Clone the repository
git clone https://github.com/Packet-Sniffer.git
cd Packet-Sniffer
# 创建 virtual environment (Windows 上推荐使用 Python 3.11)
py -3.11 -m venv venv
# 激活 environment
# Windows:
venv\Scripts\activate
# Linux / macOS:
source venv/bin/activate
# 安装 dependencies
pip install -r requirements.txt
```
### 运行平台
```
# 从 project root (venv 激活状态下):
cd webapp
python app.py
```
打开浏览器:
👉 **[http://127.0.0.1:5000](http://127.0.0.1:5000)**
### 首次使用 — 快速开始
1. 仪表板以 **空闲** 状态加载
2. 选择 **流量源模式**:
- **Simulation** — 立即可用,无需 Npcap*(推荐首次运行)*
- **Live Capture** — 需要 Npcap + 管理员权限
3. 点击 **Start Monitoring**
4. 观察流量表、图表和告警控制台实时填充数据
## 📡 REST API 参考
| 方法 | Endpoint | 描述 |
|--------|----------|-------------|
| `GET` | `/` | 仪表板 UI |
| `POST` | `/api/start_monitoring` | 启动捕获/模拟 |
| `POST` | `/api/stop_monitoring` | 停止活动会话 |
| `GET` | `/api/traffic_data` | 最新 50 个数据包 + 聚合统计 |
| `GET` | `/api/status` | 轻量级心跳 / 状态 |
**`POST /api/start_monitoring` — payload:**
```
{
"simulate": true,
"interface": "eth0"
}
```
## 🔐 IDS 规则参考
| 规则 | 严重性 | 触发条件 |
|------|----------|---------|
| High-Frequency Flood | `CRITICAL` | 源 IP 在滑动窗口内超过 2 倍速率阈值 |
| Elevated Traffic Volume | `HIGH` | 源 IP 超过速率阈值 |
| Non-Standard Port Usage | `MEDIUM` | 在注册但非标准端口(1024–49151)上的流量 |
| Ephemeral Port Usage | `LOW` | 在动态端口(49152–65535)上的流量 |
| Unknown Protocol | `MEDIUM` | 协议不在已知集合中 |
## 🌐 现实应用场景
### 1. 企业网络监控
在网络边界部署 SentinelNode,持续监控入站/出站流量,检测异常通信模式,并为合规报告维护结构化的审计记录。
### 2. 安全运营中心(SOC)分析
利用实时告警控制台和严重性分类对安全事件进行分流、确定事件响应优先级,并根据 IP 行为分析关联攻击向量。
### 3. 入侵检测与威胁搜寻
滑动窗口 DDoS 检测和可疑端口告警提供了轻量级 IDS 功能,适用于未部署完整 SIEM 工具的内部网络网段。
### 4. 网络研究与教育
模拟模式生成现实的流量模式(包括攻击场景),使 SentinelNode 非常适合网络安全培训、实验室练习和学术演示,而无需实时网络环境。
### 5. 作品集与客户演示
专业的 UI 配合实时图表、彩色编码严重性级别和结构化日志,使 SentinelNode 适合向技术面试官和客户展示网络工程和安全能力。标签:DDoS检测, DevSecOps, Flask, Mutation, Python, Scapy, TCP/IP协议栈, Web仪表盘, 上游代理, 入侵检测系统, 可视化, 威胁情报, 安全数据湖, 安全运营, 实时分析, 开发者工具, 异常检测, 扫描框架, 无后门, 生产级, 端口扫描检测, 网络安全, 网络安全平台, 网络流量分析, 逆向工具, 隐私保护