ble扫描相关的问题,蓝牙 MAC 是否可以确定厂商?

结论先说:

D2:6F:A6:57:89:7B 不能用来确定厂商。

下面严谨解释原因。


一、蓝牙 MAC 是否可以确定厂商?

传统上:

  • MAC 前 3 字节 = OUI(Organizationally Unique Identifier)

  • 由 IEEE 分配

  • 可以查到厂商

例如:

复制代码
00:1A:7D → Apple
3C:5A:B4 → Samsung

二、但你这个地址有问题

MAC:

复制代码
D2:6F:A6:57:89:7B

看第一个字节:

复制代码
D2

转换为二进制:

复制代码
1101 0010

重点看最低两位:

复制代码
bit0 = 0
bit1 = 1

位含义:

位 含义
bit0 单播(0) / 组播(1)
bit1 全球唯一(0) / 本地管理(1)

你的地址:

bit1 = 1

意味着:

这是 Locally Administered Address(本地管理地址)


三、什么是本地管理地址?

这种地址:

  • 不是 IEEE 分配

  • 不属于固定厂商 OUI

  • 通常是:

    • 随机生成

    • BLE 隐私地址

    • 手机随机地址

    • Windows 随机地址

    • iOS 隐私地址

    • Android 随机地址


四、BLE 常见随机地址类型

BLE 有三种随机地址:

  1. Static Random Address

  2. Resolvable Private Address(RPA)

  3. Non-Resolvable Private Address

现在几乎所有:

  • iPhone

  • Android

  • Windows

  • 蓝牙耳机

  • BLE 标签

都会使用随机地址防止跟踪。


五、如何判断是不是随机地址?

看第一字节前两位:

复制代码
xx:xx:xx:xx:xx:xx
↑
第一个字节

规则:

前两位 类型
00 Public
01 Random Static
10 Random Private Resolvable
11 Random Private Non-Resolvable

你的:

复制代码
D2 = 1101 0010

前两位:

复制代码
11

属于:

Random Private Non-Resolvable Address


六、意味着什么?

✔ 每次广播可能变

✔ 无法反查厂商

✔ 无法固定识别设备

✔ 设计目的就是防追踪


七、那什么时候可以查厂商?

只有当:

  • 地址是 Public Address

  • 且 bit1 = 0

  • 且前三字节属于 IEEE OUI

才能查厂商。


八、结合你前面的数据

你之前发的:

复制代码
Company ID = 0x0006

那是 Manufacturer Data 里的 Company ID。

⚠️ 那个可以确定厂商

但 MAC 地址不行。


九、如何识别厂商更可靠?

优先顺序:

  1. Manufacturer Data(Company ID)

  2. Service UUID

  3. 设备名称模式

  4. 特征广播结构

  5. GATT 服务

不要依赖 MAC。


十、如果你在做 BLE 设备识别系统

(结合你之前的扫描项目)

建议:

复制代码
if manufacturer_id == 0x004C:
    vendor = "Apple"
elif manufacturer_id == 0x0006:
    vendor = "Microsoft"

不要用 MAC 前缀。


最终结论

复制代码
D2:6F:A6:57:89:7B

是:

随机 BLE 私有地址

无法确定厂商

设计上就是防止识别


相关推荐
K成长日志6 天前
BLE链路层-隐私保护
网络·物联网·蓝牙·iot·ble
K成长日志6 天前
BLE链路层-Feature Support
网络·嵌入式·无线通信·蓝牙·iot·ble
民乐团扒谱机7 天前
【手把手通信仿真】FSK与GFSK调制原理对比及MATLAB全实现,附频谱波形分析
matlab·蓝牙·微电子·通信技术·通信原理·gfsk·fsk
EthanChou20208 天前
蓝牙学习之蓝牙框架
框架·蓝牙
wotaifuzao12 天前
(十)BLE GATT与ATT深度解剖-从属性表到CCCD-订阅收不到数据的终极答案
低功耗蓝牙·ble·nrf52·zephyr·gatt·cccd
YONYON-R&D13 天前
[特殊字符] 解决:蓝牙鼠标从其他电脑切回后“能扫到但连不上”
ble·蓝牙鼠标
律宏阔18 天前
Android 车载蓝牙开发笔记:HFP、A2DP、AVRCP、PBAP、MAP、BLE 与系统 API
android·蓝牙
eamon10020 天前
解析RoyalTek RBT-2100 蓝牙GPS接收器数据包
蓝牙·gps
dozenyaoyida21 天前
Zephyr BLE 上行链路源码拆解:一个空中报文怎么从 radio 跑到应用回调(NCS v3.2.1)
controller·嵌入式开发·ble·host·zephyr·协议栈·软链路层
dozenyaoyida23 天前
Zephyr BLE GATT Server 注册到收发调用链源码解析(NCS v3.2.1)
ble·zephyr·gatt·ble协议栈