VaishnaviGhumare-2004/TRAFNALYZER-Real-time-Threat-Hunting-Tool
GitHub: VaishnaviGhumare-2004/TRAFNALYZER-Real-time-Threat-Hunting-Tool
Trafnalyzer 是一个使用 Python 构建的实时网络流量分析器,提供数据包捕获、协议解析、流量可视化和 PCAP 文件管理等功能。
Stars: 0 | Forks: 0
# Trafnalyzer
一个受 Wireshark 启发、使用 Python 构建的强大网络流量分析器。

## 截图



## 功能
- **实时数据包捕获**:从任何可用的网络接口实时捕获网络数据包
- **数据包分析**:查看每个数据包的详细信息,包括源/目的 IP、协议、时间戳等
- **协议支持**:分析 TCP、UDP、ICMP、HTTP、HTTPS、DNS、ARP 及其他协议
- **交互式过滤**:根据 IP、端口、协议或自定义表达式过滤数据包
- **数据包检视**:检查数据包头部、payload 和十六进制转储
- **PCAP 支持**:将捕获的数据包保存为 .pcap 格式,并加载 .pcap 文件进行分析
- **数据可视化**:查看网络流量的实时图表,包括协议分布和流量速率
- **多线程设计**:响应式 UI,支持后台数据包捕获
- **现代化 UI**:深色主题的定制界面,提高可见性并减少视觉疲劳
## 安装说明
### 前置条件
- Python 3.6 或更高版本
- 必需的 Python 包:
- scapy
- pyshark(可选,用于提供额外的捕获功能)
- matplotlib
- tkinter
- numpy
### 设置
1. Clone 代码库:
git clone https://github.com/cybxmonk/trafnalyzer.git
cd trafnalyzer
2. 安装所需的包:
pip install scapy pyshark matplotlib numpy
3. 运行应用程序:
python trafnalyzer.py
### 在 Windows 上运行
对于 Windows 用户,我们提供了几种运行该应用程序的方法:
1. **命令提示符或 PowerShell**:
python trafnalyzer.py
2. **使用批处理文件**:
- 双击 `run_trafnalyzer.bat`
3. **使用管理员权限**(推荐用于数据包捕获):
- 右键点击 `run_trafnalyzer_admin.ps1`
- 选择“使用 PowerShell 运行”
- 确认 UAC 提示
**注意**:在 Windows 上,您需要以管理员身份运行应用程序才能捕获数据包。在 Linux 上,您可能需要使用 `sudo` 或配置 capabilities 来实现非 root 用户的数据包捕获。
## 使用说明
### 捕获数据包
1. 从下拉菜单中选择一个网络接口
2. 点击“Start Capture”开始捕获数据包
3. 数据包列表将实时更新
4. 完成后点击“Stop Capture”
### 过滤数据包
1. 在过滤字段中输入过滤表达式
2. 按 Enter 键或点击“Apply”应用过滤器
3. 数据包列表将更新,仅显示匹配的数据包
#### 过滤示例:
- `tcp` - 仅显示 TCP 数据包
- `udp` - 仅显示 UDP 数据包
- `ip.src==192.168.1.1` - 显示来自特定源 IP 的数据包
- `port==443` - 显示源或目的端口为 443 的数据包
- `http` - 仅显示 HTTP 数据包
### 分析数据包
1. 点击列表中的数据包以查看其详细信息
2. 详细信息面板显示:
- **Details 选项卡**:数据包字段和值的分层视图
- **Hex Dump 选项卡**:十六进制格式的原始数据包数据
- **Visualization 选项卡**:实时流量图表和统计信息
### 保存和加载捕获记录
- 点击“Save PCAP”将当前捕获记录保存为 .pcap 文件
- 点击“Load PCAP”加载之前保存的 .pcap 文件
## 技术细节
### 架构
Trafnalyzer 采用多线程架构构建:
1. **主线程**:处理 UI 和用户交互
2. **捕获线程**:在后台捕获数据包,不会阻塞 UI
3. **处理线程**:处理和分析已捕获的数据包
### 组件
- **PacketCaptureThread**:使用 scapy 处理数据包捕获
- **PacketProcessor**:提取并处理数据包中的信息
- **TrafficVisualization**:创建和更新流量可视化
- **TrafnalyzerApp**:协调所有组件的主应用程序类
### 自定义
应用程序使用具有以下配色方案的自定义主题:
- 深色背景以减少视觉疲劳
- 协议采用颜色编码,便于识别
- 可视化选项可自定义
## 故障排除
### 常见问题
1. **未能捕获到数据包**:
- 确保您正在以管理员/root 权限运行应用程序
- 验证所选接口是否处于活动状态并已连接到网络
- 检查是否有防火墙阻止了数据包捕获
2. **应用程序崩溃**:
- 检查是否已安装所有必需的包
- 确保您使用了正确的 Python 版本
3. **CPU 使用率高**:
- 通过应用更具体的过滤器来降低数据包捕获速率
- 在不使用时关闭应用程序
4. **应用程序无法启动**:
- 确保 Python 位于您的 PATH 中
- 尝试使用提供的批处理文件或 PowerShell 脚本运行
- 检查控制台中是否有任何错误消息
## 许可证
本项目基于 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。
## 致谢
- 灵感来源于 Wireshark
- 使用 Python 和 Tkinter 构建
- 使用 Scapy 进行数据包操作
- 可视化由 Matplotlib 提供支持
标签:PCAP, Python, Scapy, Tkinter, 安全审计, 无后门, 网络流量分析, 逆向工具, 防御绕过