摘要
draft-ietf-opsawg-pcaplinktype-18为 0–65000 规定专家评审,为 65001–65535 保留实验用途,并提醒实验编号通常不应流出使用它的实体。- 实验编号只能在共享配置中获得含义。跨组织交换若没有版本化格式、生产者身份与预期解码器,接收方只能猜;成功解析也可能只是把错误语法套得很像。
甲公司的编号 65021 表示一个四字节时间源前缀,随后是以太网帧。乙公司的 65021 表示十二字节采集卡状态,随后直接进入 IPv6。两边都把格式写进自己的代码,也都做了测试。
一次联合演练把甲公司的文件交给了乙公司的取证平台。平台识别到 65021,调用本地解析器,字段长度全部合法。它把甲公司的时间源字节解释成采集卡状态,把后面的几个字节拼成一个看似合理的接口标识,最终生成了一条精确、完整而错误的事件记录。
这不是编号冲突偶然造成的小故障,而是局部决定被误当成全局协调。
《Link-Layer Types for PCAP-related Capture File Formats》修订版 18 日期为 2026 年 4 月 6 日,失效日为 10 月 8 日。在 10 月 3 日的研究截点,它仍是 OPSAWG 的有效 Internet-Draft,预期状态为 Informational,已进入 RFC Editor 队列并等待首位编辑,尚无 RFC 编号。它是进行中的规范工作,而不是已经发布的 RFC,也不证明任何现有工具符合规范。
草案拟建立 IANA 的 PCAP 注册表和 LinkType 列表。LinkType 是 16 位无符号值,用来选择捕获包之前的元数据与二层封装格式。它解决的是一个很窄但必要的问题:读者应按哪种字节语法开始解析。
窄问题需要全球协调时,注册表很有价值;局部试验尚未准备好进入全球协调时,实验区也很有价值。危险来自把两者的权威混在一起。
实验区不是免费的小型全球注册表
草案把 0–65000 交给 RFC 8126 所定义的 Expert Review,把 65001–65535 保留给 Experimental Use。历史上的 147–162 私有/实验值仍受支持,但新的私有用途应使用后一个区间。
实验编号的设计前提不是“任何人都能得到一个永久全球含义”,而是“实体可在自己的控制范围内试验”。同一数字可以在不同实体内承载不同协议。只要文件不越界,两套定义并不冲突。一旦越界,数字本身没有携带足够信息来裁决哪套定义适用。
所以草案明确说,实验值通常不应泄漏到使用实体之外。这里的“泄漏”不仅是隐私或保密问题,也是语义控制问题。一个本地整数离开本地配置后,会失去解释它的制度边界。
如果确实需要交换,最小边界配置至少应包含:编号空间、实验值、组织与格式标识、精确版本、稳定定义、生产者工具与版本、预期读者、失败处理,以及文件哈希。更好的做法是申请容易获得的正式值,让专家评审检查重复和字节布局。
专家评审减少碰撞,却不认证内容
正式分配也有边界。指定专家会鼓励申请者给出稳定 URL;如果内容可能包含 IPv4 或 IPv6 头,IP 头之前的字节需要说清楚。评审可以发现一个申请其实复制了已有格式。
但草案并不强制公开规范。非公开规范可以接受,最低要求是提供联系人。这项政策说明注册表承担的是编号协调,不是透明度认证。一个值经过专家评审,不等于每个使用该值的文件都真实,不等于元数据由声称的传感器写入,也不等于解析器做过安全认证。
注册项只回答“该正式编号被分给哪种语法”。它不回答“这份文件是否真的按该语法生成”“谁生成”“何时生成”“是否被改写”或“能否据此采取行动”。
解析成功可能是最危险的失败
明显报错容易处理。真正危险的是错误语法产生合理字段。许多二进制结构含有小整数、标志位、长度和保留位;把一种前缀当成另一种前缀时,部分组合会偶然落入合法范围。平台看到结构检查通过,就把“可解析”提升为“解析正确”。
因此运行代码测试必须主动制造碰撞。让两套完全不同的实验格式使用同一编号;构造一份同时能通过两套浅层校验的文件;再观察系统是否依赖组织配置、版本和深层不变量消除歧义。若不能消除,就应拒绝,而不是选择本地默认值。
同样的纪律适用于 DLT。草案指出,数据链路类型 DLT 与 LinkType 经常数值相同,但并非普遍如此;某些 DLT 依赖操作系统,不能标准化。流水线若只保存整数,会把“本机 API 中的类型”悄悄重写成“文件中的全球类型”。转换必须留下原始命名空间和映射凭证。
LinkType 只管字节布局,不管来源
即使语法选择完全正确,它也不能证明捕获来源。传统 PCAP 一份文件只有一个 LinkType。PCAP-09 说,这通常意味着包来自一个接口,因为并非所有 LinkType 都能指出接口。但“通常”不是格式保证。多个来源可以先被归一成同一布局,再写入同一文件。
pcapng 允许多个 Interface Description Block,Enhanced Packet Block 可引用本节内的 Interface ID。可是这个 ID 只在 section 内唯一;下一节的 0 可以是另一块接口。接口名称、说明和过滤器是写入者的声明,不是自动验真的证书。
来源、方向、时间、采集点与保管链都需要独立证据。LinkType 是证据包的一部分,不是证据包的替身。
被截断的包还带来另一种假确定性
LinkType 草案警告,快照长度可能小于实际包,尾部会被省略,而包内长度字段仍可能声称对象更大。盲目读取会造成直接的越界风险。
对分析而言,这还意味着“没看见”不等于“不存在”。PCAP 和 pcapng 都区分 captured length 与 original length。若前者较小,签名、字段或负载可能处于从未保存的尾部。解析器可以完美读出已有字节,却无权宣布完整包中不存在某项内容。
这正是“现实层”纪律的用途:线上包、采集动作、保留字节、文件声明、解析字段、分析结论与自动动作属于不同层。每向前一步,都必须说明新增了哪项证据、由谁负责、还有哪些替代解释。
Minimum Initial Specification 不必把所有企业策略塞进 IANA 注册表。公共层只需协调正式编号、布局描述与变更控制;组织边界则携带版本化配置和转换凭证;行动权限继续留给承担后果的本地责任人。这种薄公共层让未来决定可以本地化,而不是让一个 16 位数获得它从未被授予的统治力。
同一个私有编号可以合法地存在于两个实验室。它不能在没有上下文时合法地扮演同一种全球事实。数字相同,只证明数字相同。
来源
- https://datatracker.ietf.org/doc/draft-ietf-opsawg-pcaplinktype/
- https://datatracker.ietf.org/doc/draft-ietf-opsawg-pcaplinktype/history/
- https://datatracker.ietf.org/api/v1/doc/document/draft-ietf-opsawg-pcaplinktype/
- https://datatracker.ietf.org/doc/draft-ietf-opsawg-pcaplinktype/references/
- https://datatracker.ietf.org/doc/draft-ietf-opsawg-pcaplinktype/referencedby/
- https://www.ietf.org/archive/id/draft-ietf-opsawg-pcaplinktype-18.txt
- https://www.ietf.org/archive/id/draft-ietf-opsawg-pcaplinktype-18.html
- https://www.ietf.org/archive/id/draft-ietf-opsawg-pcaplinktype-18.xml
- https://datatracker.ietf.org/doc/draft-ietf-opsawg-pcap/
- https://datatracker.ietf.org/doc/draft-ietf-opsawg-pcap/history/
- https://datatracker.ietf.org/api/v1/doc/document/draft-ietf-opsawg-pcap/
- https://datatracker.ietf.org/doc/draft-ietf-opsawg-pcap/references/
- https://datatracker.ietf.org/doc/draft-ietf-opsawg-pcap/referencedby/
- https://www.ietf.org/archive/id/draft-ietf-opsawg-pcap-09.txt
- https://www.ietf.org/archive/id/draft-ietf-opsawg-pcap-09.html
- https://www.ietf.org/archive/id/draft-ietf-opsawg-pcap-09.xml
- https://datatracker.ietf.org/doc/draft-ietf-opsawg-pcapng/
- https://datatracker.ietf.org/doc/draft-ietf-opsawg-pcapng/history/
- https://datatracker.ietf.org/api/v1/doc/document/draft-ietf-opsawg-pcapng/
- https://datatracker.ietf.org/doc/draft-ietf-opsawg-pcapng/references/
- https://datatracker.ietf.org/doc/draft-ietf-opsawg-pcapng/referencedby/
- https://www.ietf.org/archive/id/draft-ietf-opsawg-pcapng-06.txt
- https://www.ietf.org/archive/id/draft-ietf-opsawg-pcapng-06.html
- https://www.ietf.org/archive/id/draft-ietf-opsawg-pcapng-06.xml
- https://datatracker.ietf.org/doc/rfc8126/
- https://www.rfc-editor.org/rfc/rfc8126.txt
- https://github.com/IETF-OPSAWG-WG/pcapng
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
