makb1831/pqc_traffic_analyzer
GitHub: makb1831/pqc_traffic_analyzer
基于 Scapy 的被动网络流量分析工具,用于检测和识别 TLS 1.3 中的后量子密码学及混合密钥交换握手。
Stars: 0 | Forks: 0
# PQC 流量指纹识别工具 (`pqc-traffic-analyzer`)
一个基于 Scapy 的网络分析工具,用于解析、剖析和识别网络传输中的 TLS 1.3 后量子密码学 (PQC) 及混合密钥交换。
有关混合密钥协议和码点注册表(codepoint registry)的详细技术背景,请参阅 [Post-Quantum TLS 1.3 密钥交换机制](docs/pqc_handshake_explanation.md)。
## 🚀 功能特性
- **离线 PCAP 审计**:解析网络捕获数据,映射密钥协议组。
- **实时握手嗅探**:实时拦截并解析 TLS Client/Server Hello 握手。
- **协议无关 (Protocol Agnostic)**:拦截原始 TCP 流量并检查 TLS 握手记录 (`0x16`),可捕获来自数据库、API (gRPC/WebSockets)、邮件客户端 (STARTTLS) 以及应用程序 (Spotify, Discord) 的流量。
- **深度元数据**:提取协商的 TLS 版本、选定的密码套件、ALPN 值以及握手延迟 (ms)。
- **实时 HTML 仪表盘**:将结果流式传输到 HTML 仪表盘,仪表盘会在嗅探过程中动态更新。
## 📦 安装说明
1. **克隆仓库**:
git clone https://github.com/makb1831/pqc-traffic-analyzer.git
cd pqc-traffic-analyzer
2. **配置虚拟环境**:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -e .
## 🛠️ 使用指南
### 命令行选项
```
# 分析离线 PCAP 文件
pqc-analyze -f capture.pcap
# 将结果保存到报告文件(类型根据扩展名自动检测)
pqc-analyze -f capture.pcap -o report.html
```
## 🖥️ 实时仪表盘监控
要将实时捕获的数据包直接流式传输到浏览器仪表盘:
1. **启动嗅探器并重定向输出**:
在活动的网络接口(例如 `eth0`)上运行 `pqc-analyze`,并将输出指向一个 HTML 文件:
sudo .venv/bin/pqc-analyze -i eth0 -o pqc_dashboard.html
2. **打开仪表盘**:
在 Web 浏览器中打开生成的 `pqc_dashboard.html` 文件。
3. **启用自动刷新**:
勾选网页右上角顶部的 **Auto-refresh (5s)** 复选框。仪表盘将每 5 秒自动重新加载一次,以加载后台 CLI 捕获到的新握手信息。
## 🧪 分步实时捕获测试
### 1. 配置本地 OpenSSL/Curl (WSL/Linux)
```
# 确保 docker 已安装并正在运行
sudo usermod -aG docker $USER && newgrp docker
```
### 2. 嗅探流量并连接
1. 在一个终端中,启动实时嗅探器并将结果输出到仪表盘文件:
sudo .venv/bin/pqc-analyze -i eth0 -o pqc_dashboard.html
2. 在第二个终端中,向 OQS 测试服务器发送后量子请求:
# 通过 Docker 容器 (X25519MLKEM768 混合握手)
docker run -it --rm openquantumsafe/curl curl -k https://test.openquantumsafe.org:6671
# 通过本地编译的 Curl (如果已配置)
curl -k --curves X25519MLKEM768 https://test.openquantumsafe.org
3. 观察终端输出和正在刷新的 `pqc_dashboard.html` 页面。你将看到捕获的会话显示如下信息:
`Group: X25519MLKEM768 (1120B) [TLS 1.3 / 68ms] (PQ Hybrid Key Exchange)`
## 📖 文档
有关详细的指南,请参阅 `docs` 文件夹:
- [Post-Quantum TLS 1.3 密钥交换机制](docs/pqc_handshake_explanation.md) - 关于 PQC/混合曲线的理论背景。
- [架构与设计](docs/architecture.md) - 内部设计、状态机跟踪以及 TCP 数据包剖析。
- [开发者与贡献指南](docs/development.md) - 本地设置、构建 liboqs/oqs-provider 以及测试配置。
- [高级用法与嗅探指南](docs/advanced_usage.md) - 无需 root 权限进行嗅探 (`setcap`)、自定义过滤器以及 JSON 报告集成。
## 🛡️ 许可证
MIT License。
标签:Scapy, TLS 1.3, 后量子密码学, 多模态安全, 安全测试工具, 网络流量分析, 请求拦截, 逆向工具, 防御绕过