Wireshark のインストールと設定

GitHub でソースを見る

Wireshark は、IEEE 802.15.4、6LoWPAN、IPv6、MLE(Mesh Link 確立)、UDP、CoAP など、Thread スタックのネットワーク プロトコルをデコードできるオープンソース ツールです。

Pyspinel スニッファー ツールは、Thread NCP または RCP デバイスに接続し、無作為なパケット スニッファーに変換して pcap(パケット キャプチャ)ストリームを生成して、Wireshark に直接保存するか、パイプラインにつなぎます。

Pyspinel で Wireshark を使用するには、次のステップのインストールに関する推奨事項をご覧ください。また、Thread パケットを適切に表示し、RSSI 測定を受信するように Wireshark を構成する必要があります。

Wireshark をインストールする

Linux

ターミナルを開き、次のコマンドを実行して Wireshark をダウンロードしてインストールします。

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

Wireshark は root 以外のユーザーとして実行することをおすすめします。これを行うには、パッケージを再構成します。

sudo dpkg-reconfigure wireshark-common

「スーパーユーザー以外のユーザーはパケットをキャプチャできますか?」というダイアログが表示されたら、[はい] を選択して、wireshark ユーザーを追加してファイル権限を更新します。

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

macOS と Windows

Wireshark をダウンロードしてインストールします。オペレーティング システムのセキュリティを最適化するには、Wireshark - キャプチャ権限に関するプラットフォーム固有の情報をご覧ください。

Wireshark プロトコルの構成

プロトコルを構成するには、Wireshark で [設定...] を選択し、[プロトコル] セクションを開きます。

6LoWPAN

プロトコルのリストから [6LoWPAN] を選択し、次の設定を確認または変更します。

  1. [RFC 4944 に従って ID を導出] チェックボックスをオフにします。
  2. コンテキスト 0 をターゲット スレッド ネットワークのメッシュ ローカル プレフィックスで更新します。

OT スニッファ Wireshark 6LoWPAN

Wireshark はコンテキスト構成を使用して、圧縮された IPv6 アドレスを解析し、IPv6 の送信元アドレスと宛先アドレスを正しく表示します。

ゲートウェイで構成されている他のメッシュ上のプレフィックスのアドレスを表示するには、それらのプレフィックスで他のコンテキスト ID を更新します。

特定のオンメッシュ プレフィックスのコンテキスト ID を取得するには、MLE データ レスポンス メッセージで Thread ネットワーク データ TLV を表示します。例:

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

CoAP

プロトコルのリストから [CoAP] を選択し、[CoAP UDP Port] を 61631 に設定します。これにより、住所の勧誘などの TMF メッセージが確実に表示されます。

IEEE 802.15.4

プロトコルのリストから IEEE 802.15.4 を選択し、次の設定を確認または変更します。

  1. [802.15.4 Ethertype(16 進数)] を「0x809a」に設定します。
  2. [セキュリティ スイート] を [AES-128 暗号化、32 ビット整合性保護] に設定します。
  3. [復号鍵] の横にある [編集] ボタンをクリックします。このボタンでは、パケットの復号に使用する Thread ネットワーク マスター鍵を追加します。

    1. [+] をクリックして、復号鍵を追加します。
    2. [復号鍵] 列に Thread ネットワークのマスターキーを入力します。
    3. 復号鍵インデックスとして「1」を入力します。
    4. [キーのハッシュ] 列リストボックスで [スレッド ハッシュ] を選択します。

      OT スニッファー Wireshark IEEE 802.15.4

    5. [OK] をクリックして復号鍵を保存します。

スレッド

プロトコルのリストから [Thread] を選択し、次の設定を確認または変更します。

  • スレッド シーケンス カウンタに「00000000」と入力します。
  • [マスターキーの最初の 2 オクテットとして PAN ID を使用する] チェックボックスをオフにします。
  • スレッド シーケンス カウンタを自動的に取得する チェックボックスをオンにします。

[OK] ボタンをクリックして、プロトコルの変更を保存します。

一部の Thread トラフィックは、ZigBee プロトコルとして分析される場合があります。これら 2 つのプロトコルを正しく表示するには、Wireshark で有効なプロトコルを編集します。

  1. Wireshark では [分析] に移動し、[有効なプロトコル] をクリックします。
  2. 次のプロトコルのチェックボックスをオフにします。

    1. LwMesh
    2. ZigBee
    3. ZigBee グリーン電力

Wireshark RSSI の構成

Wireshark で RSSI を表示するには:

  1. [設定] を選択し、[プロトコル] セクションを開いて [IEEE 802.15.4] をクリックします。
  2. [FCS Format] を設定します。

    • IEEE 802.15.4 TAP が無効になっている場合: TI CC24xx メタデータ
    • IEEE 802.15.4 TAP が有効になっている場合: ITU-T CRC-16Nordic Semiconductor nRF52840 DK のパケット スニッフィング ガイドに従っている場合は、--tap フラグで詳細をご確認ください。
  3. [OK] をクリックして保存し、[設定] メニューに戻ります。

  4. [設定] で [デザイン]、[] の順に選択します。

  5. 新しいエントリを追加します。

    • タイトル: RSSI
    • タイプ: カスタム
    • フィールド: wpan.rssi

OT スニッファー Wireshark の RSSI