devbyjitendra/WireSpectra
GitHub: devbyjitendra/WireSpectra
WireSpectra 是一套整合自研 PCAP 解析、L2–L7 协议解码、异常防火墙规则引擎与 React 实时仪表板的深度包检测网络分析平台。
Stars: 1 | Forks: 0
# WireSpectra:深度包检测与实时安全仪表板
WireSpectra 是一个高性能的深度包检测(DPI)引擎和网络分析套件。它最初被设计为 C++ 引擎,本仓库提供了一个整合的现代化实现,结合了 Python 二进制数据包解析器、异常检测防火墙、实时 FastAPI 流媒体服务器以及高级的玻璃拟态 React 仪表板。
```
WireSpectra/
├── src/ # Python DPI Engine Core
│ ├── server.py # FastAPI Live Simulator & API Server
│ ├── main.py # CLI parser and batch analyzer
│ └── protocols.py, etc. # Custom L2-L7 decoders
├── frontend/ # React + Vite Dashboard
│ ├── src/ # App.jsx, charts, and CSS components
│ └── vercel.json # Vercel SPA deployment rules
└── Dockerfile # Backend container configuration
```
## 🚀 核心功能
### 1. 自定义深度包检测核心
- **原生 PCAP 解析器**:无需任何外部数据包捕获库(例如 Scapy)即可解码二进制全局 PCAP 头部和单包头部。
- **L2-L4 协议解码器**:解析 Ethernet II、IPv4、TCP(包括标志位:SYN、ACK、FIN、RST、PSH、URG)和 UDP。
- **L7 应用分类**:对 payload 缓冲区执行深度检测:
- **TLS/HTTPS**:从 Client Hello 握手中提取 SNI(Server Name Indication)。
- **HTTP**:从 GET/POST payload 中提取明文 Host 头。
- **SSH / DNS / FTP**:针对标准服务的签名分类。
### 2. 实时模拟器与 API 服务器
- **连续流量生成器**:运行后台 daemon 以生成真实且连续的网络流量。
- **DPI 跟踪器**:将生成的数据包直接馈送到流解析器中,实时更新安全警报和协议分布统计。
- **REST API Endpoint**:
- `GET /api/report` - 输出实时流分布和警报。
- `GET /api/pcap` - 直接流式传输滚动实时 PCAP 文件,以便在 Wireshark 中进行检查。
- `POST /api/reset` - 重置活动流和状态日志。
### 3. 入侵防御与异常防火墙
- **端口扫描检测器**:标记扫描多个目标端口源 IP。
- **SYN Flood 防护**:当未确认握手突破安全阈值时记录海量 SYN 警报。
- **自定义规则引擎**:自定义规则支持针对 IP、域名、端口或基于正则表达式的 payload 内容执行操作(`ALERT`、`BLOCK`)。
### 4. 高级 React 仪表板
- **玻璃拟态黑曜石主题**:具有极光背景、微动画和可视化状态信号的时尚 UI。
- **交互式流**:可搜索、分页的连接表,显示带宽速率和状态标签。
- **流式传输与文件上传回退**:与 Back4App API 实时同步,支持拖拽上传 JSON 报告,并包含模拟测试环境。
## 🛠 设置与运行说明
### 1. 后端设置与 CLI 使用
设置 Python 虚拟环境并安装依赖项:
```
# 导航到项目根目录
python -m venv .venv
source .venv/bin/activate # Or .venv\Scripts\activate on Windows
pip install -r requirements.txt
```
#### 运行批处理文件分析 (CLI)
您可以解析静态 PCAP 并将完整表格报告打印到终端或导出报告:
```
# 打印常规统计信息
python src/main.py sample.pcap --report
# 导出结果为 JSON 以在 dashboard 中加载
python src/main.py sample.pcap --export-json report.json
```
#### 运行实时 API 服务器
启动 FastAPI uvicorn daemon:
```
python src/server.py
```
*服务器将在 `http://localhost:8080` 上运行,并开始生成连续的数据包流。*
### 2. 前端设置
确保已安装 Node.js,然后构建或运行开发服务器:
```
cd frontend
npm install
npm run dev
```
在浏览器中打开 `http://localhost:5173/`。点击 **连接到实时流** 以开始轮询运行在 `8080` 端口的 FastAPI 服务器。
### 3. 运行单元测试
验证 L2-L7 解码逻辑、TCP 状态、规则引擎和异常防火墙:
```
pytest tests/
```
## ☁ 部署
- **后端(Back4App 或 AWS App Runner)**:使用根目录下的 `Dockerfile` 进行部署,将容器端口指向 `8080`。启用 CORS 支持。
- **前端(Vercel)**:将 `frontend/` 文件夹作为 React 单页应用部署。配置 `VITE_API_URL` 以指向您的实时后端域名,并使用附带的 `vercel.json` 重写配置。
标签:AV绕过, FastAPI, Python, React, Syscalls, 多包管理, 安全规则引擎, 无后门, 深度包检测, 网络安全分析, 网络流量分析, 请求拦截, 逆向工具, 防火墙