使用nRF Sniffer嗅探藍芽BLE通訊資料
簡介:本文主要介紹使用 Nordic 的nRF51 Dongle (PCA10031)工具,配合Wireshark軟體實現對藍芽BLE通訊進行嗅探的環境搭建和配置。
一、 軟體安裝
nRF Sniffer software v2.x 或者更高的版本
可以在Nordic Sniffer產品裡下載 Sniffer Download,這裡我們選擇下載nRF-Sniffer-v2(下載連結:https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF-Sniffer),該檔案裡面包含了Segger-jlink工具、Dongle韌體包、Sniffer的Python原始碼程式。
開啟資料夾,其主要檔案如下。
安裝Wireshark v2.4.2 或者更高的版本 Download;
作業系統:執行Wireshark的環境,Windows 7或者更高版本。
SEGGER J-Link(用於下載 Sniffer 工具韌體),Sniffer software v2.x裡面已經提供了segger_jlink軟體,直接安裝即可。
安裝Python2.7.x(下載連結https://www.python.org/downloads/),安裝Python執行環境,執行上面提及的Sniffer軟體。(安裝時勾選新增環境變數)
安裝pyserial v3.4 或者更高版本
在Python的安裝目錄下,資料夾Scripts中有pip.exe。
來到該目錄,輸入命令pip.exe install pyserial即可。
二、 nRF Sniffer安裝
開啟 Wireshark 軟體,Go to Help > About Wireshark,點選 Folders,雙擊 Extcap path。
將nrf_sniffer_(version)_(hash).zip 檔案解壓到這個目錄下,並將extcap目錄的內容複製到該目錄下,如下圖所示。
開啟 Wireshark 軟體,Go to Help > About Wireshark,點選 Folders,雙擊 Personal configuration,開啟該目錄,將Profile_nRF_Sniffer-v2_001檔案拷貝到該目錄。
開啟 Wireshark 軟體,Edit > Configuration Profiles,選中Profile_nRF_Sniffer-v2_001,並確認。
三、 燒錄韌體
將Sniffer Dongle插到PC上,開啟nRFgo Studio軟體。
在左側的選擇框中依次點選Device Manager > nRF51 #### > Segger ######,點選Erase all。
然後,選擇Program Application > Browse
選擇韌體檔案,然後點選Program即可。
韌體檔案在\nrf_sniffer_2.0.0-beta-2_10Sep2018_3ef662e\hex\目錄下,選擇sniffer_pca10028_####.hex、sniffer_pca10031_####.hex均可,都支援對BLE通訊資料的嗅探功能。
四、嗅探藍芽通訊資料
將Sniffer Dongle插到PC上,開啟 Wireshark 軟體,選中nRF Sniffer COM# 介面,並點選開始。
可以嗅探到BLE資料。
通過Device下拉選單,可以選擇要嗅探的目標裝置。