安装和配置 Wireshark

在 GitHub 上查看源代码

Wireshark 是一个开源工具,可解码 Thread 堆栈中的网络协议,例如 IEEE 802.15.4、6LoWPAN、IPv6、MLE(网状链路建立)、UDP 和 CoAP。

Pyspinel 嗅探器工具会连接到 Thread NCP 或 RCP 设备,并将其转换为混杂数据包嗅探器,生成 pcap(数据包捕获)数据流,以便保存或直接管道到 Wireshark。

如需将 Wireshark 与 Pyspinel 搭配使用,请参阅下一步中的安装建议。您还需要配置 Wireshark,以便正确显示 Thread 数据包并接收 RSSI 测量结果。

安装 Wireshark

Linux

打开终端并运行以下命令,下载并安装 Wireshark:

sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt-get update
sudo apt-get install wireshark

我们建议以非 root 用户身份运行 Wireshark。为此,请重新配置软件包:

sudo dpkg-reconfigure wireshark-common

当系统显示询问“非超级用户是否应能够捕获数据包?”的对话框时,选择 Yes(是),然后添加 wireshark 用户并更新文件权限:

sudo adduser $USER wireshark
sudo chmod +x /usr/bin/dumpcap

macOS 和 Windows

下载并安装 Wireshark。如需优化操作系统的安全性,请参阅 Wireshark - 有关捕获权限的平台专用信息

配置 Wireshark 协议

如需配置协议,请在 Wireshark 中选择 Preferences...(偏好设置...),然后展开 Protocols(协议)部分。

6LoWPAN

从协议列表中选择 6LoWPAN,然后验证或更改以下设置:

  1. 取消选中根据 RFC 4944 派生 ID
  2. 使用目标线程网络的网状本地前缀更新 Context 0

OT Sniffer Wireshark 6LoWPAN

Wireshark 使用上下文配置来解析压缩的 IPv6 地址,并正确显示 IPv6 源地址和目标地址。

如需显示在网关上配置的其他网状网前缀的地址,请使用这些前缀更新其他情境 ID。

如需获取特定网状网络前缀的上下文 ID,请查看任何 MLE 数据响应消息中的 Thread 网络数据 TLV。例如:

Context 1: fd00:7d03:7d03:7d03::/64

CoAP

从协议列表中选择 CoAP,并将 CoAP UDP 端口设置为 61631。这样可确保显示 TMF 消息(例如地址征求消息)。

IEEE 802.15.4

从协议列表中选择 IEEE 802.15.4,然后验证或更改以下设置:

  1. 802.15.4 Ethertype(十六进制)设置为“0x809a”。
  2. 安全套件设置为“AES-128 加密、32 位完整性保护”。
  3. 点击解密密钥旁边的修改...按钮,在该位置添加用于数据包解密的 Thread 网络主密钥。

    1. 点击 + 以添加解密密钥
    2. 解密密钥列中输入 Thread 网络主密钥。
    3. 输入“1”作为解密密钥索引
    4. 从“键哈希”列的列表框中选择“线程哈希”。

      OT Sniffer Wireshark IEEE 802.15.4

    5. 点击 OK 保存解密密钥。

会话

从协议列表中选择 Thread,然后验证或更改以下设置:

  • 线程序列计数器输入“00000000”。
  • 取消选中使用 PAN ID 作为主密钥的前两个八字节
  • 选中 Automatically acquire Thread sequence counter(自动获取线程序列计数器)。

点击 OK 按钮以保存所有协议更改。

系统可能会将某些 Thread 流量分析为 ZigBee 协议。如需正确显示这两种协议,请在 Wireshark 中修改已启用的协议:

  1. 在 Wireshark 中,前往分析,然后点击已启用的协议
  2. 取消选中以下协议:

    1. LwMesh
    2. ZigBee
    3. ZigBee Green Power

配置 Wireshark RSSI

如需在 Wireshark 中显示 RSSI,请执行以下操作:

  1. 选择 Preferences...(偏好设置...),展开 Protocols(协议)部分,然后点击 IEEE 802.15.4
  2. 设置 FCS 格式

    • 如果 IEEE 802.15.4 TAP 已停用:TI CC24xx 元数据
    • 如果启用了 IEEE 802.15.4 TAP:ITU-T CRC-16。如果您遵循 Nordic Semiconductor nRF52840 DK 的数据包嗅探指南,请参阅 --tap 标志了解详情。
  3. 点击确定以保存并返回偏好设置菜单。

  4. 偏好设置中,依次选择外观

  5. 添加新条目:

    • 标题:RSSI
    • 类型:自定义
    • 字段:wpan.rssi

OT Sniffer Wireshark RSSI