NDN-tools与NDN.p4详解:Wireshark分析与使用

需积分: 47 12 下载量 130 浏览量 更新于2024-08-27 收藏 443KB DOCX 举报
"NDN-tools包括了用于Wireshark的NDN包分析器dissect-wireshark,以及NDN.p4的相关运行过程。本文档主要聚焦于dissect-wireshark的使用方法和特点,同时也提及了NDN数据包在不同传输层协议中的封装方式。" NDN(Named Data Networking,命名数据网络)是一种新型的互联网架构,它基于内容的名称而不是位置来路由数据。在NDN中,`ndn-tools` 提供了一系列工具来帮助开发者和研究人员进行网络分析和调试。文档中提到的`dissect-wireshark` 是一个用于Wireshark的NDN包分析器,它扩展了Wireshark的能力,使其能够解剖NDN数据包。 1. **NDN包分析器**: - 支持版本:NDN包解析器要求Wireshark至少为1.12.6版本,并且需要LUA支持。 - 封装情况:解析器能处理NDN数据包在IPv4/IPv6 UDP(端口6363或56363),IPv4/IPv6 TCP(端口6363),HTTP WebSocket(端口9696),以太网帧(EtherType 0x8624)以及PPP帧(协议类型0x0077)中的封装形式。 解析器有以下特点: - **分片处理**:对于被UDP分片的数据包,会在IP完全重组后进行解析。如果重组失败,如校验和错误或缺失片段,将不会解析。 - **多包处理**:即使NDN包被分散在多个UDP数据报、TCP段或WebSocket有效负载中,也会被正确分解。 - **TCP流重组**:当NDN包跨越多个TCP段或WebSocket负载时,会尝试在成功重构TCP流后进行分析。若无法重建必要部分,将不会进行分析。 - **包搜索算法**:如果NDN包未对齐到段或负载边界,解析器会通过一种试探法在每个可能的偏移处查找有效的NDN包。 2. **使用方法**: - `ndn.lua` 脚本应放置在 `/usr/local/share/ndn-dissect-wireshark` 目录下。默认情况下,这个脚本会在这里安装,以便Wireshark能够加载并使用它进行NDN包解析。 文档中并没有详细说明NDN.p4的运行过程,但可以推断`NDN.p4`可能是P4语言实现的一个NDN相关的网络编程项目。P4是一种声明式编程语言,用于定义网络数据包处理的行为,通常用于软件定义网络(SDN)和网络功能虚拟化(NFV)环境。NDN.p4可能涉及了NDN数据包的匹配、转换或者路由规则的编程。 总结起来,`NDN-tools` 的`dissect-wireshark`提供了强大的NDN包分析能力,使得在网络抓包工具Wireshark中能有效理解和调试NDN流量。对于NDN.p4的更多信息,可能需要查看更具体的文档或源代码来获取详细细节。