藍芽4 0BLE抓包 三 掃瞄請求和掃瞄響應

2021-08-11 19:38:58 字數 2438 閱讀 2334

1. 掃瞄請求和掃瞄響應

廣播包含掃瞄請求scan_req和掃瞄響應scan_rsp。

處於掃瞄態的裝置可以接收廣播通道的報文,通過掃瞄可以偵聽哪些裝置正在廣播。掃瞄分為主動掃瞄和被動掃瞄。主動掃瞄傳送掃瞄請求給處於廣播態的裝置,並通過處於廣播態的裝置返回的掃瞄響應獲取額外的資料。而被動掃瞄僅僅接收廣播報文,不會傳送掃瞄請求。

掃瞄中有兩個重要的時間引數需要注意:

下圖說明了掃瞄視窗和掃瞄間隔的關係和要求。

圖1:掃瞄視窗和掃瞄間隔

1.1. 掃瞄請求

掃瞄請求pdu載荷如下圖所示,由scana(掃瞄裝置位址)和adva組成(廣播裝置位址),scana是掃瞄裝置的公共或隨機位址(由txadd確定),adva是廣播裝置的公共或隨機位址(由rxadd確定)。

圖2:掃瞄請求pdu載荷

廣播報文的報頭中的txadd指示了掃瞄裝置使用的是公共位址(public address)還是隨機位址(random address)。

rxadd指示了廣播裝置使用的是公共位址(public address)還是隨機位址(random address)。

1.2. 掃瞄響應

掃瞄響應pdu載荷如下圖所示,由adva(廣播裝置位址)和scanrspdata組成(掃瞄響應資料),adva是廣播裝置的公共或隨機位址(由txadd確定)。

圖3:掃瞄響應pdu載荷

廣播報文的報頭中的txadd指示了廣播裝置使用的是公共位址(public address)還是隨機位址(random address)。

廣播報文的長度域指示了載荷的位元組數(adva和scanrspdata)。

2. scan_req和scan_rsp解析

2.1. 捕獲scan_req

按照《藍芽4.0ble抓包(一)》中的描述進行抓包,下面是我們捕獲乙個心率計的scan_req包。

圖4:捕獲的scan_req包

2.2. 分析scan_req

為了方便分析,我們先取出這個scan_req包實際傳輸的資料,如圖3中所示。心率計完整的廣播報文如下:

d6 be 89 8e 83 0c

7f 0f 72 dd df 68

da b5 e9 d2 cc f3

bd bf 27

在分析資料之前,再次說明:廣播包含掃瞄請求和掃瞄響應,所以掃瞄請求和掃瞄響應得包格式遵循廣播包的格式。

分析報文時,需要注意一下報文各個域的位元組序。

2.1.1 接入位址

d6 be 89 8e2.1.2 pdu

1).83:廣播報文報頭。

2).0c:長度,表示scan_req報文的長度是12個位元組。

3).7f 0f 72 dd df 684).da b5 e9 d2 cc f32.1.3 校驗 

bd bf 27:24位元組crc校驗。

2.3. 捕獲scan_rsp

按照《藍芽4.0ble抓包(一)

》中的描述進行抓包,捕獲乙個心率計的scan_req包。

圖5:捕獲的scan_rsp包

2.4. 分析scan_rsp

同樣,在這裡我們先取出scan_req包的資料,便於分析。

d6 be 89 8e 44 06

da b5 e9 d2 cc f3

61 6a 0f

2.4.1 接入位址

d6 be 89 8e2.4.2 pdu

1).44:廣播報文報頭。

2).06:長度,表示scan_ rsp報文的長度是6個位元組。

3).da b5 e9 d2 cc f3

2.4.3 校驗 

61 6a 0f:24位元組crc校驗。

iOS藍芽4 0 BLE 開發

本文將一步一步講解如何使用corebluetooth框架來與各種可穿戴裝置進行通訊,使用 小公尺手環 來進行基本的測試。macbook pro mac os x 10.10 xcode 6.3.2 iphone 5s v8.1 小公尺手環 從上面這幅圖可以看到,我們的ios裝置是central,用來...

藍芽4 0(BLE)電子煙方案

電子香菸得到了越來越多的消費者的青睞。它不僅僅能讓吸菸者的健康不受到危害,而且還能讓他們的吸菸行為不受地點的限制。但是似乎有人認為 這些電子香菸的功能還 應該更強大點 近日,一種更加智慧型化的電子香菸問世,它就是smokio 據悉,這種電子香菸使用藍芽 針對這一產品市場,信馳達開發出藍芽4.0 電子...

藍芽4 0BLE協議棧介紹

問題 什麼是ble協議棧?ble協議棧與ble協議的關係?顧名思義,人類之間需要一種語言才能溝通,機器之間,電子之間也有乙個標準,也就是作為通訊標準,也就是通訊協議。協議 定義了一系列通訊標準,通訊雙方都按照這一標準,進行資料通訊。協議棧 協議的具體實現形式,實現的函式庫,韌體庫。把個個協議集合到了...