使用的抓包工具:Ellisys
今天用的Ellisys的界面如下所示,可以分為三個(gè)部分, 左上為40個(gè)信道監(jiān)視圖,左下為某一個(gè)或者多個(gè)設(shè)備(MAC地址)的交互數(shù)據(jù),我們只談只談BLE,所以其他wifi,zigbee等功能可以忽略。
藍(lán)牙設(shè)備工作狀態(tài)介紹:
1.從機(jī)設(shè)備廣播狀態(tài):
Connectable LE Coded -> LE Coded
Connectable LE Coded -> 2M on aux
2.主機(jī)連接從機(jī)過(guò)程:
主機(jī)在2M PHY 下建立連接
2M PHY切換到1M PHY
3.藍(lán)牙MAC地址:
Slave: 0xF0F8F2D2BB7F
Master: F0:F8:F2:1F:57:1B
藍(lán)牙5 PHY層簡(jiǎn)介:
藍(lán)牙連接
上一講講了藍(lán)牙5廣播數(shù)據(jù)分析,今天接著看連接過(guò)程,下圖是一個(gè)請(qǐng)求連接全過(guò)程,總共分為6個(gè)階段,1-4階段為廣播,5為請(qǐng)求連接,6為回應(yīng)連接。
1-4階段分析請(qǐng)參考上一篇文章:
5,6階段發(fā)生在數(shù)據(jù)信道上,5為連接請(qǐng)求,因?yàn)槭菍偎{(lán)牙5連接,可以看到其指令為AUX_CONNECT_REQ(主請(qǐng)求),AUX_CONNECT_REQ攜帶的參數(shù)和BT4.2并無(wú)太大差異,hopping channel,interval,latency等等。
在接收到信號(hào)之后從機(jī)會(huì)回應(yīng)一幀AUX_CONNECT_REP。
PHY層更新
如上面所示,Sniffer是在2M PHY下建立的連接,整個(gè)抓包實(shí)驗(yàn),我把藍(lán)牙的PHY 從2M PHY更新到1M PHY,最后更新到Coded PHY,三個(gè)階段,如下圖所示。
2M -> 1M PHY更新和Coded PHY更新
從下圖可以看到,更新PHY階段有三個(gè)階段,主機(jī)發(fā)送更新請(qǐng)求:LLCP_PHY_REQUEST,在下圖右下可以看到,主機(jī)請(qǐng)求更新PHY 層到1M PHY, 從機(jī)接收到請(qǐng)求,并回復(fù)LLCP_PHY_RESPONSE,RSPONSE中回復(fù)主機(jī)可以用1M PHY,最后主機(jī)發(fā)送LLCP_PHY_UPDATE,進(jìn)過(guò)幾個(gè)數(shù)據(jù)包的調(diào)整之后方能更新到1M PHY上。
1M PHY -> Coded PHY更新
過(guò)程和上面一致,不過(guò)多贅述。
總結(jié)
用兩張圖來(lái)總結(jié)我覺(jué)得恰到好處,圖1,藍(lán)牙5連接過(guò)程,圖2,藍(lán)牙5 PHY更新流程。
-
藍(lán)牙
+關(guān)注
關(guān)注
116文章
6079瀏覽量
174097 -
路由器
+關(guān)注
關(guān)注
22文章
3840瀏覽量
116792
發(fā)布評(píng)論請(qǐng)先 登錄
協(xié)議分析儀能檢測(cè)藍(lán)牙設(shè)備的哪些潛在問(wèn)題?
藍(lán)牙協(xié)議分析儀能檢測(cè)哪些問(wèn)題?
在EZ串行的BLE“無(wú)響應(yīng)寫(xiě)入”中, CAN一次通信中接收的最大數(shù)據(jù)包大小是多少?
BLE連接未啟動(dòng)的原因?
藍(lán)牙數(shù)據(jù)通道空口包(數(shù)據(jù)包)
藍(lán)牙廣播包
芯知識(shí) BLE(低功耗藍(lán)牙模塊)和SPP(傳統(tǒng)藍(lán)牙模塊)的對(duì)比
I2C總線數(shù)據(jù)包結(jié)構(gòu)詳解
mtu配置步驟詳解 mtu與數(shù)據(jù)包丟失的關(guān)系
Linux網(wǎng)卡收包流程

物聯(lián)網(wǎng)系統(tǒng)中常用的低功耗自組網(wǎng)無(wú)線傳輸方案(二)_藍(lán)牙模塊篇

Linux網(wǎng)絡(luò)協(xié)議棧的實(shí)現(xiàn)

請(qǐng)問(wèn)DCTCP與DCUDP 的登錄數(shù)據(jù)包和心跳數(shù)據(jù)包與服務(wù)器端是如何交互的?
經(jīng)典藍(lán)牙抓包解析說(shuō)明

評(píng)論