# pcap-comparator **Repository Path**: devdiv/pcap-comparator ## Basic Information - **Project Name**: pcap-comparator - **Description**: 该项目是一个用于比较两个或多个网络抓包文件(.pcap)差异的开源工具。该工具可以帮助网络工程师、安全研究人员和开发人员快速识别不同抓包文件之间的差异,便于网络故障排查、安全分析和协议调试、测试。 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-28 - **Last Updated**: 2025-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: Pcap比对, 抓包文件比对, 数据包比对 ## README # pcap-comparator #### 介绍 该项目是一个用于比较两个或多个网络抓包文件(.pcap)差异的开源工具。该工具可以帮助网络工程师、安全研究人员和开发人员快速识别不同抓包文件之间的差异,便于网络故障排查、安全分析、协议调试和测试。 主要功能特点: - 支持批量比较两个目录中的所有.pcap文件 - 计算数据包哈希值并进行精确匹配 - 显示匹配准确率和虚警率统计信息 - 并行处理文件以提高性能 - 支持暂停/恢复和取消操作 - 实时显示处理进度和执行耗时 - 详细的日志输出 #### 软件架构 本项目采用C# Windows Forms技术开发,基于.NET Framework 4.8.1平台。主要架构组件如下: 1. **UI层**:Windows Forms界面,提供用户交互和操作界面 2. **业务逻辑层**:包含文件处理、数据包分析和比较算法 3. **数据访问层**:使用SQLite数据库存储临时数据 核心技术栈和依赖项: - SharpPcap & PacketDotNet:用于读取和解析pcap文件 - SQLite:用于高效存储和查询数据包哈希值 - .NET Parallel Framework:用于并行处理多文件 #### 安装教程 1. 确保您的计算机已安装.NET Framework 4.8.1或更高版本 2. 下载最新的发布版本 3. 解压安装包到您选择的目录 4. 运行PcapComparator.exe启动应用程序 #### 使用说明 1. **选择源目录**:点击"浏览源目录"按钮,选择包含参考pcap文件的文件夹 2. **选择目标目录**:点击"浏览目标目录"按钮,选择包含待比较pcap文件的文件夹 3. **开始比较**:点击"开始"按钮开始比较过程 4. **查看结果**:程序将显示比较结果,包括: - 源目录和目标目录下的数据包总数 - 匹配正确的数据包数量 - 准确率和虚警率 - 详细的处理日志 **操作提示**: - 可以随时暂停/恢复或停止比较过程 - 程序会实时显示处理进度和执行耗时 - 日志区域会显示详细的操作记录 #### 界面截图 ![输入图片说明](imagesimage.png) #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 技术实现细节 - 使用SHA256哈希算法计算数据包内容的唯一标识 - 采用SQLite内存模式和WAL(Write-Ahead Logging)模式优化性能 - 使用Parallel.ForEach实现多线程并行文件处理 - 实现批量插入和异步UI更新提高用户体验 - 带重试机制的数据包读取确保稳定性 #### 许可证 本项目采用MIT许可证。详情请参阅LICENSE文件。