# TangCaptureTraffic **Repository Path**: tjfzeishuai/TangCaptureTraffic ## Basic Information - **Project Name**: TangCaptureTraffic - **Description**: TangCaptureTraffic 是一个基于 FiddlerCore 开发的高性能网络流量捕获与分析工具,提供了友好的用户界面,用于监控、分析和调试 HTTP/HTTPS 网络请求和响应。该工具使用 AntdUI 作为界面框架,为用户提供现代化的视觉体验。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: https://gitee.com/tjfzeishuai/TangCaptureTraffic - **GVP Project**: No ## Statistics - **Stars**: 22 - **Forks**: 6 - **Created**: 2025-07-21 - **Last Updated**: 2025-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: Winforms, Csharp, antdui ## README # TangCaptureTraffic ## 屏幕截图 ### 主界面 ![TangCaptureTraffic 主界面](screenshots/main_interface2.png) ### JSON数据查看器 ![JSON数据查看器](screenshots/json_viewer.png) ### 导出会话功能 ![导出会话功能](screenshots/export_session.png) ## 项目介绍 TangCaptureTraffic 是一个基于 FiddlerCore 开发的高性能网络流量捕获与分析工具,提供了友好的用户界面,用于监控、分析和调试 HTTP/HTTPS 网络请求和响应。该工具使用 AntdUI 作为界面框架,为用户提供现代化的视觉体验。 ### 项目特点 - **高性能设计**:优化的内存管理和多线程处理,支持长时间运行 - **用户友好界面**:直观的会话列表和详情展示,支持多种数据格式的可视化 - **丰富的操作功能**:支持会话过滤、复制为cURL、数据重发、多选操作等 - **会话管理**:支持导入/导出会话为标准的 Fiddler .saz 格式 - **安全可靠**:自动管理 HTTPS 证书,确保安全解密 HTTPS 流量 ## 软件架构 - 基于 .NET 9.0 Windows 平台开发 - 使用 FiddlerCore.Trial 6.0.0 作为核心代理引擎 - 采用 AntdUI 2.0.12 作为界面框架 - 使用 Windows Forms 构建桌面应用程序 ## 主要功能 1. HTTP/HTTPS 流量捕获与监控 2. 网络会话详细信息查看(请求头、响应头、内容等) 3. JSON 数据自动格式化与树形展示 4. 图片预览功能(支持图片选项卡和点击放大查看) 5. 会话过滤功能 6. 支持复制为 cURL 命令 7. 支持会话数据重发 8. 支持导出会话为 Fiddler 存档格式(.saz) 9. 支持导入 Fiddler 存档文件(.saz) 10. 支持删除选中会话(键盘快捷键和右键菜单) 11. 支持按住 Ctrl 键多选会话 12. 支持会话表格行标记(红色、黄色、绿色) 13. 自动管理 HTTPS 证书 14. 智能内存管理,防止内存溢出 ## 安装教程 ### 开发者安装 1. 克隆或下载本仓库到本地 2. 使用 Visual Studio 2022 或更高版本打开解决方案 3. 还原 NuGet 包依赖 4. 编译并运行项目 ## 快速入门 ### 开始捕获流量 1. 启动 TangCaptureTraffic 应用程序 2. 点击工具栏上的"开始捕获"按钮 3. 打开浏览器或其他应用程序,生成网络流量 4. 观察应用程序中实时显示的网络会话 ### 查看会话详情 1. 在会话列表中点击任意会话 2. 右侧面板将显示该会话的详细信息 3. 切换不同的标签页查看请求头、响应头、请求体和响应体等信息 4. 对于 JSON 响应,可以查看格式化后的树形结构 5. 对于图片响应,可以在图片选项卡中预览,并点击图片可放大查看 ### 使用过滤器 1. 在顶部过滤框中输入关键字(如域名、状态码、HTTP方法等) 2. 会话列表将实时过滤,只显示匹配的会话 3. 清空过滤框可恢复显示所有会话 ## 使用说明 ### 基本操作 1. 启动应用程序后,点击"开始捕获"按钮开始监控网络流量 2. 在表格中查看捕获的网络会话列表 3. 点击任意会话可在右侧面板查看详细信息 4. 使用顶部过滤器可以筛选特定类型的会话 5. 点击"清除"按钮可以清空当前捕获的所有会话 ### 快捷键支持 | 快捷键 | 功能 | 状态 | |------|------|------| | Delete | 删除选中会话 | ✅ 已实现 | | Ctrl+鼠标点击 | 多选会话 | ✅ 已实现 | ### 高级功能 1. **复制为 cURL**:右键点击会话,选择"复制为 cURL",可将请求复制为 cURL 命令格式 2. **数据重发**:右键点击会话,选择"数据重发",可重新发送该请求 3. **导出会话**: - 单个会话导出:右键点击会话,选择"导出会话" - 多个会话导出:按住 Ctrl 键选择多个会话,然后右键点击,选择"导出会话" 4. **导入会话**:点击顶部的"导入会话"按钮,选择 .saz 文件进行导入 5. **删除选中会话**: - 使用键盘快捷键:选中会话后按 Delete 键 - 使用右键菜单:选中会话后右键点击,选择"删除选中会话" 6. **多选操作**:按住 Ctrl 键可以选择多个会话,用于批量操作(如导出、重发、删除等) 7. **会话表格行标记**:支持为会话行添加颜色标记(红色、黄色、绿色),便于快速识别重要会话 ## 开发环境要求 - Visual Studio 2022 或更高版本 - .NET 9.0 SDK - Windows 10/11 操作系统 ## 性能优化 本项目实现了多项性能优化措施,确保在长时间运行和处理大量网络会话时保持稳定: 1. **智能内存管理**: - 自动限制最大会话数量,防止内存溢出 - 定期执行垃圾回收,释放未使用的内存资源 - 当会话数量达到阈值时,自动清理最旧的会话 2. **UI性能优化**: - 智能滚动:仅在用户位于列表底部时自动滚动到新会话 - 高效的会话过滤和搜索功能 - 延迟加载大型响应内容,减少内存占用 3. **多线程处理**: - 使用线程安全的集合存储会话数据 - 网络操作在后台线程执行,不阻塞UI响应 ## 注意事项 - 首次运行时会安装 Fiddler 根证书,用于解密 HTTPS 流量 - 本工具使用 FiddlerCore.Trial 版本,可能有使用限制 - 长时间运行时,建议定期清除会话数据以优化性能 - 请勿将捕获的敏感信息用于非法用途 ## 常见问题解答 (FAQ) ### 1. 为什么无法捕获 HTTPS 流量? 确保已正确安装 Fiddler 根证书。您可以在应用程序首次启动时接受证书安装,或手动运行以下步骤: 1. 确保以管理员身份运行应用程序 2. 重启应用程序,接受证书安装提示 3. 如果问题仍然存在,请检查浏览器或应用程序是否配置了自定义代理 ### 2. 应用程序占用内存过高怎么办? 长时间运行时,捕获大量会话可能导致内存占用增加。建议: 1. 定期使用"清除"按钮清空会话列表 2. 使用过滤器减少显示的会话数量 3. 导出重要会话后再清除列表 ### 3. 如何在多台设备间共享会话? 1. 使用"导出会话"功能将会话保存为 .saz 文件 2. 将 .saz 文件复制到目标设备 3. 在目标设备上使用"导入会话"功能加载文件 ### 4. 某些应用的流量无法捕获怎么办? 某些应用可能使用证书固定或自定义协议,导致无法捕获流量。尝试: 1. 检查应用是否支持代理设置 2. 对于移动设备,确保设备已正确配置代理 3. 某些应用可能需要特殊配置才能捕获流量 ## 许可证 请参阅项目中的 LICENSE 文件