安裝和設定 Wireshark

前往 GitHub 查看原始碼

Wireshark 是一項開放原始碼工具,可將 Thread 中的網路通訊協定解碼 如 IEEE 802.15.4、6LoWPAN、IP6、MLE (網格連結建立)、UDP 以及 CoAP

Pyspinel Sniffer 工具連線至 Thread NCP 或 RCP 裝置後,轉換成 Pyspinel Sniffer 裝置 並排入明顯的封包 Sniffer 並產生封裝 (封包擷取) 串流, 儲存或直接插入 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

當系統顯示對話方塊,詢問「non-superusers can to 擷取封包?」(非超級使用者是否能夠擷取封包?) 時, 請選取「是」,然後新增 wireshark 使用者並更新檔案權限:

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

macOS 和 Windows

下載並安裝 Wireshark。最佳化作業系統的安全性 系統,請參閱 Wireshark (有關擷取權限的平台專屬資訊)

設定 Wireshark 通訊協定

如要設定通訊協定,請在 Wireshark 中選取「Preferences...」,然後展開 通訊協定區段。

6LoWPAN

從通訊協定清單中選取「6LoWPAN」,然後驗證或變更下列設定 設定:

  1. 取消勾選「根據 RFC 4944 衍生 ID」。
  2. 使用目標執行緒的網格本機前置字串更新情境 0 更是如此

OT Sniffer Wireshark 6LoWPAN

Wireshark 會使用結構定義設定來剖析壓縮的 IPv6 位址,並 必須正確顯示 IPv6 來源和目的地位址。

如要顯示閘道上設定的其他網狀前置字串位址, 並將其他內容 ID 更新為這些前置字串。

如要取得特定網狀前置字元的結構定義 ID,請查看「Thread 網路資料」 提高機器學習品質回應訊息中的 TLV。例如:

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

CoAP

從通訊協定清單中選取「CoAP」CoAP,然後設定「CoAP UDP Port」CoAP 至 61631如此可確保系統顯示 TMF 訊息 (例如:徵求地址)。

IEEE 802.15.4

從通訊協定清單中選取「IEEE 802.15.4」,確認或變更 以下設定:

  1. 將「802.15.4 乙太網路 (十六進位)」設為「0x809a」。
  2. 將「Security Suite」設為「AES-128 Encryption, 32 位元完整性」 保護」。
  3. 在此處按一下「Decryption Keys」旁的「Edit...」按鈕。 新增用於封包解密的 Thread 網路主金鑰。

    1. 按一下「+」新增解密金鑰
    2. 在「Decryption key」(解密金鑰) 欄中輸入 Thread 網路主金鑰。
    3. 輸入「1」做為解密金鑰索引
    4. 從「Key 雜湊」資料欄清單方塊選取「執行緒雜湊」

      OT Sniffer Wireshark IEEE 802.15.4

    5. 按一下「OK」儲存解密金鑰。

討論串

從通訊協定清單中選取「Thread」,確認或變更下列設定: 設定:

  • 輸入「00000000」Thread 序列計數器
  • 取消勾選「使用 PAN ID 做為主金鑰的前兩個八位元」
  • 勾選「自動取得執行緒序列計數器」

按一下「OK」按鈕,儲存任何通訊協定變更。

部分 Thread 流量可能會以 ZigBee 通訊協定來分析。為正確 顯示這兩個通訊協定,然後在 Wireshark 中編輯已啟用的通訊協定:

  1. 在 Wireshark 中,前往「Analyze」,然後按一下「Enabled Protocols」
  2. 取消勾選下列通訊協定:

    1. LwMesh
    2. ZigBee
    3. ZigBee Green Power

設定 Wireshark RSSI

如要在 Wireshark 中顯示 RSSI,請按照下列步驟操作:

  1. 選取「Preferences...」,然後展開「Protocols」部分,然後按一下 IEEE 802.15.4
  2. 設定「FCS Format」

    • 如果 IEEE 802.15.4 TAP 已停用:TI CC24xx 中繼資料
    • 如果啟用 IEEE 802.15.4 TAP 功能:ITU-T CRC-16。如果您正在追蹤 北歐半導體 nRF52840 的 Packet Sniffing 指南 DK,詳情請參閱 --tap 旗標
  3. 按一下「OK」儲存並返回「Preferences」選單。

  4. 在「偏好設定」中,依序選取「外觀」和「欄」。

  5. 新增項目:

    • 標題:RSSI
    • 類型:自訂
    • 欄位:wpan.rssi

OT Sniffer Wireshark RSSI