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 私有地址

无法确定厂商

设计上就是防止识别


相关推荐
dozenyaoyida12 天前
BLE传输WiFi列表的问题分析
网络·经验分享·物联网·wifi·中文乱码·json解析·ble
whik119414 天前
ESP32-C3-DevKitM-1开发板深度上手评测
wifi·嵌入式·esp32·arduino·蓝牙·开发板·乐鑫
Darkershadow15 天前
蓝牙学习之发送 Mesh Provisioning Service advertising
学习·蓝牙·ble·mesh
byte轻骑兵18 天前
从HCI报文透视LE Audio重连流程(3):音频流建立、同步与终止
音视频·蓝牙·le audio·cig/cis·广播音频
summerkissyou198723 天前
android-蓝牙-广播启动-startAdvertising和startAdvertisingSet区别
android·蓝牙
Darkershadow1 个月前
蓝牙学习之Time Set
python·学习·蓝牙·ble·mesh
榕树子1 个月前
【蓝牙】安全密钥如何生成:蓝牙Mesh网络的安全基石
安全·蓝牙
Ar呐1 个月前
软考网规篇之无线通信网——无线个域网蓝牙和Zigbee、移动通信和5G
5g·蓝牙·zigbee·高级软考·网络规划设计师
wotaifuzao1 个月前
Matter-PICS梳理(ble-thread)
认证·thread·ble·matter·pics