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 构建的强大网络流量分析器。 ![Trafnalyzer](https://github.com/yourusername/trafnalyzer/raw/main/screenshots/trafnalyzer_main.png) ## 截图 ![image](https://github.com/user-attachments/assets/32ea2711-8b52-4131-b520-98034b7c4a39) ![image](https://github.com/user-attachments/assets/94a488d9-4d92-48a8-88e7-76182f369a84) ![image](https://github.com/user-attachments/assets/88a44c06-5e53-48b9-8fc9-fc834ceb17b2) ## 功能 - **实时数据包捕获**:从任何可用的网络接口实时捕获网络数据包 - **数据包分析**:查看每个数据包的详细信息,包括源/目的 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, 安全审计, 无后门, 网络流量分析, 逆向工具, 防御绕过