在無線通信協議的開發過程中,抓包器是工程師們不可或缺的工具。掌握抓包器的使用,就如同擁有了能夠洞察無線電波的“火眼金睛”。這不僅使我們能夠驗證發出的數據包是否準確,檢查流程或時序的合理性,還能幫助我們更便捷地定位和解決各種技術難題。對于藍牙技術而言,抓包器的作用同樣不可小覷。它強大的捕獲功能讓我們能夠輕松獲取空中傳輸的包的詳細信息,包括頻率、頻率偏差、長度、信號強度以及具體傳輸內容等。此外,抓包器還具備出色的解析能力,能夠按照協議層級對捕獲的包進行分類,從而更有效地分析各個層面可能出現的問題。
本文將通過使用廣泛認可的Ellisys抓包器為例,首先簡要介紹其基本使用方法,然后結合實際案例,展示抓包器在藍牙開發中的高效應用。我們會特別針對Ellisys在分析經典藍牙連接過程、加密數據和通信頻率等常用功能上進行解析。
對于低功耗藍牙的抓包和解析,您還可以參考我們之前發布的經典教程:【技術專欄】藍牙抓包工具Ellisys(上)——原來Debug這么容易。這將為您提供更多深入的指導和幫助。
1
ellisys抓包器用法簡介
市面上眾多品牌的抓包器中,Ellisys因其全面的功能和高效性能成為我們的首選工具。它采用全頻帶并發通道嗅探技術,能夠實時捕捉所有藍牙頻點,提供便捷的使用體驗和豐富的數據捕獲。除了捕獲空中數據包,Ellisys還能通過USB、UART、SPI等接口獲取HCI信息,進一步增強了其分析能力。內置的邏輯分析器功能允許我們將邏輯信號與空中包進行對比,為開發和調試過程中的問題定位提供了強有力的支持。
圖1.ellisys抓包器
首先,接通抓包器電源,并使用USB線直接連接至電腦的USB端口,避免使用USB集線器以保證數據傳輸的效率。接著,在電腦上打開Ellisys提供的上位機軟件,按照圖2的指示,進入菜單欄選擇“Record”->“Recording Options”。在彈出的配置窗口中,根據您的需求選擇要捕獲的無線或有線協議、邏輯分析儀的信號通道等,完成設置后點擊“OK”保存配置,即可開始高效的數據捕獲與分析。
圖2.抓包器上位機界面
圖3.抓包器配置界面
點擊工具欄中的Record按鈕,抓包器就會開始抓取空中包,并將獲取到的信息實時顯示在下方的各個窗口中如圖4所示,A區為抓到的所有空中包的總覽,可以通過該區域上方的工具欄來篩選出各個協議的包或者包含指定數據的包;B區為選中空中包的詳細信息,這里會自動解析出在A或C區選中的包的信道、能量以及內容等;C區則以時間為橫軸,顯示了空中包的時序,可以直觀地看出空中包發送的時間以及長度;D區為包的原始信息,通過這里我們可以直接分析空中包的數據是否正確等。上位機的layout可能會有所不同,如果找不到這些區域可點擊菜單欄中的layout->reset layout就可以將layout恢復成原始設定。
圖4.抓包器上位機各區域
我們已經概述了抓包器的基本操作,這為您提供了分析問題所需的初步技能。現在,讓我們通過一些實際案例來深化對抓包器的理解,并探索其更高級的功能。通過這些示例,您將學習到如何更有效地利用抓包器,以提升您的分析技巧和效率。
2
藍牙抓包解析實例
在以下實例中我們使用泰凌B91開發板作為Central device來連接藍牙耳機,同時使用ellisys抓包器來抓取兩者發送的空中包,并對連接流程以及數據交換等行為進行分析。
圖5.B91開發板
3
建立連接流程分析
首先,我們需要將抓包器開啟,然后使用我們的開發板與耳機進行配對,抓包器就會抓取到建立連接的整個流程,觀察抓到的空中包我們就會發現除了我們的設備發出的包還會有很多其它的包,這是因為往往我們生活環境中不只有一兩個藍牙設備,其它藍牙設備發出的包也會被抓包器抓取到,這將會對我們的分析造成一定的困難,這時我們就可以使用filter來篩選出我們想要的設備,如圖6所示,我們可以通過設備名稱和address來選出想要的設備,然后將其添加到左側,點擊ok返回到主界面我們就可看到只剩下了選中設備發出或收到的包。
圖6.通過filter篩選出需要抓取的設備
接下來從空中包中找到paging連接從這里開始,如圖7所示,我們可以清晰地看到連接建立的全部流程,先通過page獲取到基礎的時鐘、設備名等信息,然后通過LMP去交換雙方的版本、特性、名字等,之后Central發起Host connection,Peripheral回復表示接受,最后雙方都發送Setup Complete表示連接正式建立。
圖7.抓包器抓取到的連接流程
4
加密數據包分析
藍牙協議為了保證數據的安全加入了加密的能力,大部分數據包都是在加密的情況下發送的,所以抓包器也為我們提供了解密的能力。找到上位機中的Security窗口,如果我們已經抓到了一些連接的話,這里將會把它們顯示出來,如圖7所示,可見Key的位置為missing,因為藍牙是通過一個密鑰來加密的,抓包器作為第三方無法得知密鑰是什么,這就需要我們在開發過程中使用一些debug手段來獲取,這里我們使用Telink開發板的串口將link key打印出來,然后雙擊missing就會彈出一個輸入框,將獲取到的key輸入其中點擊ok就可以發現原本加密的空中包已經可以看到真實的內容了。
圖8.Security窗口
圖9.輸入link key進行解密
圖10.解密出來的空中包
5
通信頻點分析
由于生活中有大量設備使用著與藍牙相同的2.4G頻段,這都會對藍牙通信造成干擾,因此藍牙選擇使用跳頻技術來對抗干擾,抓包器也為我們提供了相應的功能來讓我們可以直接看到一段時間內空中各個頻段包的使用情況,這將極大地便利了我們對此類問題的分析。
同樣我們需要在上位機中找到對應的窗口,這里使用的是Spectrum和Channels兩個窗口,前者可以直觀顯示空中所有頻點上的包在時序上的情況,而后者則是統計了各個頻點上的包數量以及丟包率等。如下圖所示,紅框圈住的地方是環境中WiFi的信號,而我們的藍牙為了提高通信質量就將這一塊干擾嚴重的頻段避開了,從圖中可以看到這些頻點中的藍牙包數量非常的少。
圖11.Spectrum和Channels窗口
6
總結
抓包器的用途遠不止于此,它在經典藍牙開發中扮演著至關重要的角色。精通抓包器的操作,不僅能幫助我們深入理解藍牙通信的細節,還能顯著提高開發效率。因此,熟練掌握抓包器的使用方法對于藍牙開發者來說是非常寶貴的技能。
-
藍牙
+關注
關注
114文章
5866瀏覽量
171202 -
無線通信
+關注
關注
58文章
4604瀏覽量
143878 -
泰凌微
+關注
關注
7文章
152瀏覽量
10858
原文標題:【技術專欄】經典藍牙抓包解析說明
文章出處:【微信號:telink-semi,微信公眾號:泰凌微電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
USB軟件抓包分析工具之三:Wireshark-華山派華山劍法
![USB軟件<b class='flag-5'>抓</b><b class='flag-5'>包</b>分析工具之三:Wireshark-華山派華山劍法](https://file.elecfans.com/web2/M00/A3/15/pYYBAGRREfKAG4D4ACX2w5P37-k481.png)
WIZnet芯片通訊時怎么抓包?
Packet Sniffer抓包遇到的問題
ZigBee3.0數據包解析
![ZigBee3.0數據<b class='flag-5'>包</b><b class='flag-5'>解析</b>](https://file.elecfans.com/web2/M00/32/F5/poYBAGIcTACAEGB8AAJiLLJdOrI658.png)
SRT協議的工作流程、數據包結構及Wireshark抓包分析
藍牙抓包工具Ellisys—原來Debug這么容易
基于樹莓派的藍牙協議抓包
![基于樹莓派的<b class='flag-5'>藍牙</b>協議<b class='flag-5'>抓</b><b class='flag-5'>包</b>](https://file1.elecfans.com/web2/M00/8C/01/wKgaomSj4s2AeM-pAAAP5EMqrKA738.jpg)
如何抓取app數據包 網絡抓包原理及實現
![如何抓取app數據<b class='flag-5'>包</b> 網絡<b class='flag-5'>抓</b><b class='flag-5'>包</b>原理及實現](https://file1.elecfans.com/web2/M00/90/1F/wKgaomTVj9SAO4-KAAAVM-5rECE277.jpg)
解析經典藍牙設備連接過程
![<b class='flag-5'>解析</b><b class='flag-5'>經典</b><b class='flag-5'>藍牙</b>設備連接過程](https://file1.elecfans.com/web2/M00/EC/AF/wKgaomZfu_iAFxyEAAAwRPUY2JM062.png)
評論