EshwarReddyD7/packetsleuth
GitHub: EshwarReddyD7/packetsleuth
一款基于网页的实时网络数据包分析工具,集成协议解析、异常检测和仪表板,简化流量监控与安全事件响应。
Stars: 0 | Forks: 0
# PacketSleuth
一款具备实时React仪表板的类Wireshark网页数据包分析器。支持捕获实时流量或上传`.pcap`文件,可解析从以太网到HTTP/TLS的多层协议,实时观察流量重组过程,并在检测到端口扫描或DNS隧道等可疑行为时提供自动化提示。
   
## 功能特性
- **实时捕获**:通过Scapy支持可选网卡与BPF过滤器
- **离线pcap上传**:支持重放模式回放分析
- **多层协议解析**:以太网、IP、IPv6、TCP、UDP、ICMP、ARP、DNS、HTTP、TLS(SNI)
- **流量重组**:展示顶级通信节点、字节统计、地理位置提示
- **异常检测启发式规则**:SYN扫描、慢速端口扫描、DNS数据外泄模式、可疑目标端口
- **可搜索的过滤语法**:`ip.src == 10.0.0.1 and tcp.port == 443`
- **WebSocket实时推送**:向React仪表板提供亚秒级数据更新
- **REST API**:支持程序化访问
## 系统架构
```
flowchart LR
A[Network Interface / PCAP] -->|Scapy sniff| B[Capture Engine]
B --> C[Protocol Decoder]
C --> D[Flow Tracker]
C --> E[Anomaly Detector]
D --> F[(In-memory store)]
E --> F
F --> G[FastAPI REST + WebSocket]
G --> H[React Dashboard]
```
## 快速开始
```
# 一键启动
docker compose up --build
# 打开仪表板
open http://localhost:3000
```
### 本地开发
```
# 后端
cd backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
# 前端
cd ../frontend
npm install
npm run dev
```
### 配置参数
| 环境变量 | 默认值 | 用途说明 |
|---|---|---|
| `PS_CAPTURE_IFACE` | `lo` | 默认捕获网卡 |
| `PS_BPF_FILTER` | `` | 默认BPF过滤器 |
| `PS_MAX_PACKETS` | `10000` | 环形缓冲区大小 |
| `PS_API_PORT` | `8000` | REST/WebSocket服务端口 |
## 使用指南
```
# 通过 REST 上传 pcap 文件
curl -F "file=@sample.pcap" http://localhost:8000/api/upload
# 开始实时捕获
curl -X POST http://localhost:8000/api/capture/start \
-H "Content-Type: application/json" \
-d '{"iface":"eth0","bpf":"tcp port 80"}'
# 通过 WebSocket 流式传输数据包
wscat -c ws://localhost:8000/ws/packets
```
## 功能演示

## 测试方案
```
cd backend
pytest -v
```
完整测试场景矩阵参见 [TEST_REPORT.md](TEST_REPORT.md)。
## 开源协议
MIT许可证 — 详见 [LICENSE](LICENSE)。
标签:AV绕过, DNS隧道检测, FastAPI, pcap解析, Python, React仪表板, REST API, Scapy, WebSocket, 二进制发布, 依赖分析, 内核驱动, 协议解码, 可视化仪表板, 后端开发, 实时流式传输, 开源工具, 异常检测, 数据捕获, 无后门, 流量重建, 端口扫描检测, 系统分析, 网络分析, 网络协议, 网络安全, 网络测绘, 请求拦截, 逆向工具, 隐私保护