最近网上冲浪时发现一款好用的数据包捕获与分析工具,能极大提升工作效率——EasyTshark,一款基于 tshark 开发的轻量级工具,无论是实时抓包还是离线分析,都能轻松应对。
核心功能:满足多样化网络分析需求
双模式操作,灵活应对不同场景
- 实时抓包模式:直接从网络接口捕获数据包,支持选择特定网卡并设置抓包时长,实时掌握网络动态。
- 离线分析模式:导入已有的 PCAP 文件进行深度分析,还能智能检测重复文件,避免冗余处理。
数据存储与管理:高效且规范 捕获的数据包会自动存储到 SQLite 数据库,工具会贴心地自动创建数据表结构,确保数据存储规范。后续查询时,无论是快速检索还是精准过滤,都能高效完成。
格式转换:适配多场景需求
- 支持将 PCAP 文件转换为 XML 格式,保留完整元数据。
- 可将 XML 文件进一步转换为 JSON 格式,方便前端展示和二次开发处理。
强大的数据包查询功能 支持多条件组合查询,包括:
- Mac 地址(支持模糊匹配,如00:11:22:*)
- IP 地址(支持模糊匹配,如192.168.*)
- 端口(支持模糊匹配,如80*)
- 归属地(支持模糊匹配,如深圳*) 查询结果可导出为 JSON 文件保存,方便后续分析。
附加实用特性
- IP 地理位置解析:自动解析数据包中 IP 地址的地理位置信息,基于 ip2region 数据库实现高效解析。
- 流量监控:实时监控所有网卡的流量统计数据,记录最近 300 秒的流量趋势,信息实时更新。
技术亮点:稳定可靠,性能出色
- 基于 tshark(Wireshark 命令行工具)开发,兼容其强大的抓包能力。
- 采用 C++11 标准开发,保证性能和跨平台性。
- 模块化设计,核心功能清晰分离,包括数据包管理、格式转换、数据库操作等。
- 完善的错误处理机制,能应对无效文件、格式错误、权限问题等常见场景。
- 详细的日志记录,便于问题排查和分析。
系统要求与依赖
系统要求
- Linux 操作系统
- tshark (Wireshark 命令行工具)
- SQLite3
- C++11 兼容的编译器
- CMake 3.10+
依赖库
- sqlite3:数据存储
- loguru:日志记录
- rapidjson:JSON 处理
- rapidxml:XML 处理
- ip2region:IP 地理位置解析
总结
EasyTshark 以其简洁的操作、丰富的功能和稳定的性能,为网络数据包分析提供了便捷的解决方案。无论是网络管理员排查问题,还是开发者进行相关开发测试,都能从中受益。
下载地址
- Windows 版本下载
- Mac 版本下载
评论前必须登录!
注册