現實場景中,經常會碰到「搜尋到乙個藍芽位址,但是沒有名稱,無法確定是不是想連線的裝置等問題?」,這個時候就想著,如果可以從位址資訊中能解析出某些有用的資訊,幫助我們篩選就好了。別急,還真是有可能的,讓我們先來重新認識一下藍芽位址的構成。
當然,這裡介紹的是bluetooth address,即public address。並不針對ble的random address。為什麼呢?我們來慢慢看。
什麼是bluetooth address(bd_addr)?
了解過藍芽基本知識的人,都知道bluetooth address是製造商分配給每個藍芽裝置的唯一48位識別符號(和電腦的mac位址一樣)。它是用來唯一識別乙個物理裝置的標識,正常情況下,該位址需要向ieee申請(其實是購買,呵呵!)。企業交錢,ieee保證位址的唯一性,皆大歡喜。
藍芽位址通常顯示為6個位元組,以十六進製制表示,用冒號分隔(示例- 00:11:22:33:ff:ee)。
其中,藍芽位址的upper part(即most-significant 24 bits)被稱為organizationally unique identifier (oui)。它可以用來確定裝置的製造商。oui是由電氣和電子工程師協會(ieee) assigned。
另外,藍芽裝置位址還被用來在藍芽裝置之間的無線通訊中確定跳頻模式。
bluetooth address structure
bluetooth address有三部分組成: nap, uap, lap
舉例來說,如下圖所示:
從圖中可以看到,oui包含nap和uap兩部分。其中nap(non-significant address part)部分2位元組,為oui的前16位;nap值,用於跳頻同步幀。另外,uap(upper address part)1位元組,包含剩餘的8位oui;uap值,被用作為各種藍芽規範演算法中的種子。
除了oui之外,剩餘的3位元組,為lap(lower address part), 這部分藍芽位址由裝置**商自己分配。lap值,作為每乙個transmitted frame中access code的一部分,來唯一地標識藍芽裝置。lap和uap構成藍芽位址的重要位址部分(sap)。
解決的問題
click the 「lookup」, 然後就得到結果了:
3) 這一套不適合ble的random address?
是的。因為random address的裝置位址不是固定分配的,而是在裝置啟動後隨機生成的,而且會根據一定的週期發生變化。它的出現正是為了規避public address申請/維護成本高、複雜等問題的,當然主要是可以保證位址可變,更安全。所以,它並不遵從oui這一套。
希望此文對你有幫助,感謝閱讀
藍芽 Mac位址
在 br edr 裝置中,其位址是乙個 48bits 的數字,稱作 48 bit universal lan mac addresses 和電 腦的 mac 位址一樣 正常情況下,該位址需要向 ieee 申請 其實是購買 企業交錢,ieee 保證位址的唯 一性,皆大歡喜。當然,這種位址分配方式,在 ...
ios 獲取藍芽mac位址
主要思路 雖然蘋果官方的api沒有獲取mac位址的方法,但是當我翻看藍芽的文件的時候,我發現藍芽有提供乙個裝置資訊的service service uuid 0x180a 裡面提供了兩個characteristic 獲取晶元的mac位址 0x2a23 和獲取軟體的版本號 0x2a26 如下圖所示 實...
藍芽位址問題
description 對藍芽位址的作用及使用,我們常會有一些疑惑,下面是對其常見問題的彙總。branch version 下文涉及的nvram lid和藍芽位址均與具體藍芽晶元有關,請注意區別 solution 藍芽位址長度為6bytes,每台藍芽裝置都應有乙個唯一的藍芽位址。目前,藍芽位址的使用...