BLEデータを送信するデバイスの開発を行う場合、私たちのまわりにはBluetoothデータを送信するデバイスがあまりにも多いため、正しくそのデバイスを選別してデータを受信する方法が必要になります。
その方法として、Bluefruit LE SnifferでBLEデータをWiresharkで受信することが、一番便利そうなので、TomoSoftさんの下記の記事を見ながら実際にやっていきます。
Bluefruit LE Snifferを使用したBLEプロトコル解析 | TomoSoft
Wiresharkのバージョン
2023/12/24現在で最新のWiresharkをインストールしました。
Version 4.2.0です。
Bluefruit LE Snifferの接続
Bluefruit LE Snifferを接続しましたがドライバーがインストールされていないようなので入手します。
CP210x USB – UART ブリッジ VCP ドライバ – Silicon Labs
Silicon LabsのサイトからCP210x Universal Windows Driverをダウンロード
無事にドライバーが更新されました。
nRF Sniffer for Bluetooth LEのダウンロード
nRF Sniffer for Bluetooth LE – Downloads – nordicsemi.com
このファイルを解凍しWiresharkの該当するフォルダにコピーします。
Wiresharkのフォルダにコピー
- Wiresharkのフォルダ「extcap」にダウンロードした次のフォルダ「extcap」の内容
- Wiresharkのフォルダ「profiles」にダウンロードした次のフォルダ「Profile_nRF_Sniffer_Bluetooth_LE」
TomoSoftさんの記事のとおりファイルを移動。
extcapフォルダの中身
WiresharkのprofileフォルダにダウンロードしたProfile_nRF_Sniffer_Bluetooth_LEフォルダを移動。
Pythonを走らせる
> pip install pyserial
をおこなったところ、
エラーが発生。
Python PermissionError: [WinError 5] アクセスが拒否されました | Delft スタック
こちらのエラーのようです。
解決方法
– cmdを管理者として実行
無事にできたのかな?
フォルダ移動。
$ python nrf_sniffer_ble.py --extcap-interfaces
を実行
Wiresharkで確認
nRF Sniffer Bluetoothをクリック
このようにいろんなデータをうけとっていればOK。
まとめ
以上、Bluefruit LE Snifferを使ってWiresharkでBluetoothデータをキャプチャすることができました。