版權聲明:本文為博主原創文章,轉載請注明作者和出處。
藍牙4.0 BLE的開發過程中,使用抓包器進行抓包分析無疑會極大地提高我們的開發效率,同時能幫我們快速的定位問題。對於初學者來說,抓包分析能讓我們更快的理解藍牙4.0 BLE的工作過程。
本文詳細說明如何搭建EN-Dongle的抓包環境和如何使用EN-Dongle進行抓包。EN-Dongle抓包時會通過Sniffer軟件調用強大的網絡封包分析軟件Wireshark捕獲和分析BLE包。
1. 需要的工具
表一:硬件需求
序號 |
設備 |
數量數量 |
1 |
計算機 |
1台 |
2 |
EN-Dongle |
1個 |
3 |
J-LINK仿真器 |
1套 |
4 |
MINI USB數據線 |
1根 |
表二:軟件需求
序號 |
名稱 |
1 |
ble-sniffer_win_1.0.1 |
2 |
Wireshark-win32-1.12.8或 Wireshark-win64-1.12.8 |
2. 驅動及軟件安裝
使用EN-Dongle進行抓包和協議分析需要用到下面的1個驅動和兩個軟件。
- CP2102驅動。
- Wireshark。
- Sniffer(綠色軟件,無需安裝)。
2.1 安裝CP2102驅動
解壓“CP210x_VCP_Windows.zip”,解壓后如下圖,根據具體情況選擇安裝32位版本或64位版本驅動。
- Windows 32:安裝“CP210xVCPInstaller_x86.exe”
- Windows 64:安裝“CP210xVCPInstaller_x64.exe”
圖1:Wireshark安裝文件
2.2 安裝Wireshark
根據具體情況選擇安裝32位版本或64位版本。
- Wireshark-win32-2.0.0。
- Wireshark-win64-2.0.0。
1) 雙擊Wireshark安裝程序,彈出安裝窗口,點擊“Next”。
圖2:安裝Wireshark
2) 點擊“I Agree”。
圖3:安裝Wireshark
3) 點擊“Next”。
圖4:安裝Wireshark
4) 選擇安裝在默認路徑后點擊“Next”。
圖5:安裝Wireshark
5) 勾選“Install WinPcap 4.1.3”,點擊“Next”。
圖6:安裝WinPcap
6) 點擊“I Agree”。
圖7:安裝WinPcap
7) 點擊“Finish”完成安裝。
圖8:完成安裝
2.3 安裝Sniffer
Sniffer是綠色軟件,無需安裝,解壓后雙擊“ble-sniffer_win_1.0.1_1111_Sniffer.exe”即可運行。
圖9:Sniffer軟件
3. 使用EN-Dongle抓包
1) 將EN-Dongle連接到計算機的USB接口上,並讓EN-Dongle處於Central和Peripherel的信號覆蓋范圍內,如下圖所示。
圖10:EN-Dongle抓包示意圖
2) 雙擊“ble-sniffer_win_1.0.1_1111_Sniffer.exe”,啟動Sniffer。Sniffer啟動后會自動檢查串口及周圍的 BLE 器件,如下圖所示。
圖11:Sniffer軟件界面
上圖中信息欄顯示了Sniffer讀取的串口是:COM25。設備列表中顯示Sniffer已經抓取到兩個BLE設備,編號分別是“0”和“1”。
3) 輸入編號,選擇BLE 器件,如下圖所示。
圖12:輸入編號選擇Device
4) 輸入“w”啟動Wireshark,開始抓包。
圖13:啟動Wireshark
5) Wireshark啟動后,我們就可以看到捕獲的BLE包了,如下圖所示。
Wireshark是一個很牛的網絡封包分析軟件,支持眾多協議,做過網絡通信相關開發的朋友對Wireshark都不會陌生,即使沒用過也應該聽說過。Wireshark可以幫助我們將一個個原始的BLE數據包按照BLE的協議進行解析,並以我們能看得懂的形式展現。
圖14:Wireshark捕獲的BLE包
選中一個BLE包(這里捕獲的是廣播包),展開樹形目錄,即可看到Wireshark對這個廣播包的分析。
圖15:Wireshark解析BLE包
到這里,捕獲廣播包已經OK了,用手機連接一下BLE設備,觀察Wireshark捕獲窗口,整個連接過程會立即呈現在我們的眼前!