首页 > 编程知识 正文

蓝牙模块的mac地址,手机蓝牙mac地址怎么看

时间:2023-05-05 09:03:01 阅读:233762 作者:2445

现实场景中,经常会碰到“搜索到一个蓝牙地址,但是没有名称,无法确定是不是想连接的设备等问题?”,这个时候就想着,如果可以从地址信息中能解析出某些有用的信息,帮助我们筛选就好了。别急,还真是有可能的,让我们先来重新认识一下蓝牙地址的构成。
当然,这里介绍的是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)。

解决的问题

1) 从Bluetooth Address的构成来看,属于设备商自己定义的部分,只有LAP part,即最多只能定义2^24 = 16777216个设备地址?这似乎对于某些大厂,比如Aplle,HUAWEI来讲,不够用?怎么办?
目前看来,最主要的解决方式是,每家公司多申请一些OUI,比如Apple就申请了几十个之多,当然大厂不差钱,哈哈。(因为每申请一个,就要花费一份钱向IEEE购买)。

2) 怎样通过地址,查询到厂商的信息呢?
当然有很多途径,这里分享一个比较好用的网址,如下:
添加链接描述

Click the “Lookup”, 然后就得到结果了:

3) 这一套不适合BLE的Random Address?

是的。因为Random Address的设备地址不是固定分配的,而是在设备启动后随机生成的,而且会根据一定的周期发生变化。它的出现正是为了规避Public address申请/维护成本高、复杂等问题的,当然主要是可以保证地址可变,更安全。所以,它并不遵从OUI这一套。

希望此文对你有帮助,感谢阅读

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。