pcapng 的块结构
pcapng 由块构成:接口描述块、增强包块、注释块等等。块结构支撑了多接口、注释和更高精度的时间戳,所以排查解析问题时也可以从块层面入手,看文件里到底记录了哪些信息,而不是只盯着包的内容。
基本信息
| 适用平台 | 现代抓包工具的默认输出格式 |
|---|---|
| 组成 | 接口描述块、增强包块、元数据块等 |
| 相对优势 | 多接口、注释、更高时间精度 |
| 兼容性 | 老工具只认 pcap,需要转换 |
典型使用场景
- 理解多接口文件为什么能区分来源
- 排查解析工具报块错误的原因
- 确认采集文件记录了哪些元数据
- 与 pcap 格式对比,判断是否值得转换
- 交付给只支持旧格式的平台
查看元数据
查看元数据
# 图形界面:统计菜单下的捕获文件属性,可查看接口列表、时间精度、采集系统等信息
capinfos a.pcapng
# 命令行方式查看文件元数据摘要
editcap -F pcap a.pcapng b.pcap
# 老工具只认 pcap 时按需降级转换,注意接口块与注释会丢失块类型与用途
| 块类型 | 作用 | 实践提示 |
|---|---|---|
| 接口描述块 | 记录每个接口的名称与属性 | 对应多接口来源区分 |
| 增强包块 | 承载单个报文与其时间戳 | 时间精度优于旧格式 |
| 注释块 | 保存采集过程说明 | 解释采集背景很有用 |
| 元数据块 | 记录操作系统与工具信息 | 排查采集环境差异 |
写入中断的 pcapng 文件往往仍能部分读取,别急着删除源文件。先用元数据工具看看能读到多少内容,再决定是否需要重新采集,多数情况下能救回大部分数据。
多接口文件里的包序不保证全局时间有序,做时序分析前按需排序。老分析工具只认 pcap 时用转换工具降级,但要清楚接口块与注释会一起丢失,交接时要提前说明。
使用建议
- 优先使用 pcapng 保留完整元数据
- 交付给旧工具前先确认格式支持情况
- 解析报块错误时先用元数据工具确认文件完整性
- 多接口文件分析前先确认包序是否需要重排
- 转换前保留原文件,转换后核对包数