一款网络取证工具——将PCAP文件或实时流量可视化为带有设备识别、协议分类、Tor检测和恶意流量标记的注释网络图。

graph TD
UI[user_interface.py\nGUI controller] --> PR[pcap_reader\nFile + Live capture]
PR --> ENG[engines/\nauto · dpkt · scapy · pyshark]
PR --> MEM[(memory.py\nShared state)]
MEM --> CDF[communication_details_fetch\nDNS · whois]
MEM --> DDF[device_details_fetch\nOUI vendor lookup]
MEM --> TTH[tor_traffic_handle\nTor consensus]
MEM --> MTI[malicious_traffic_identifier\nHeuristic flags]
MEM --> SS[sqlite_store\nSession persistence]
MEM --> PLN[plot_lan_network\nGraphviz PNG + pyvis HTML]
UI --> IG[interactive_gui\nMatplotlib panel]
IG --> MEM
PLN --> OUT[Reports + Diagrams]给定一个PCAP文件或实时网络接口,绘制显示主机、流量流向、重要/Tor/恶意通信以及每个会话中数据的网络图。
制作具有以下功能的网络图:
工具亮点:
主应用程序面板

静态网络图 — 自然布局,自动缩放


要求:Python 3.10+
sudo apt-get update
sudo apt-get install -y python3-tk graphviz tshark
pip3 install -r requirements.txt
sudo python3 Source/main.py
如果使用特定Python版本(3.11、3.12),将
python3-tk替换为python3.11-tk或python3.12-tk。通过pip安装Pillow — 不要通过apt安装python3-pil,因为会产生冲突。
brew install graphviz
pip3 install -r requirements.txt
sudo python3 Source/main.py
实时捕获需要
sudo。文件分析无需此权限。
.pcap / .pcapng文件auto)sudo/root权限)PcapXray支持四种可互换的解析后端,可从工具栏选择:
所有依赖项均在requirements.txt中 — 使用pip3 install -r requirements.txt安装。
Tkinter是唯一不在PyPI上的库 — 通过系统包管理器安装(Linux上为python3-tk,macOS上已包含在Python中)。
完整架构文档、调用流程图、模块职责、线程模型以及如何添加新引擎,请参见DEV.md。
负责披露、安全态势和已知限制,请参见SECURITY.md。
# 快速套件 — 无网络调用
pytest -m "not network" Test/
# 完整套件,包括真实DNS + Tor
pytest Test/
# 隔离引擎环境
tox
tox -e all-engines
96+个测试,覆盖Python 3.10、3.11、3.12。
dpkt引擎可获得最佳性能。| 引擎 | 最佳适用场景 | 备注 |
|---|
auto | 通用用途 | 优先尝试dpkt,失败后回退到scapy |
dpkt | 大型文件,低内存 | 快速离线解析 |
scapy | 深度协议检查 | 支持TLS,大型文件较慢 |
pyshark | 最大协议覆盖 | 需要安装tshark |
| 库 | 用途 |
|---|
| scapy | 数据包读取和实时捕获 |
| dpkt | 快速PCAP解析引擎 |
| pyshark | 基于tshark的解析引擎 |
| ipwhois | Whois / RDAP查询 |
| netaddr | IP地址分类 |
| pillow | 图像处理,用于图显示 |
| stem | Tor共识数据获取 |
| graphviz | 网络图渲染 |
| networkx | 图构建和布局 |
| matplotlib | 嵌入式交互式图面板 |
| pyvis | 交互式HTML网络图 |
| pydantic | 会话状态的类型化数据模型 |
| cryptography | TLS密码套件解析 |