在BLE中随机分配Mac地址

时间:2020-03-03 09:35:16

标签: android bluetooth bluetooth-lowenergy beacon

我制作了一个将iOS设备变成信标的应用。现在,当我从android设备扫描BLE设备时,我将该iOS设备列入了扫描列表,但问题是每次我获得随机的Mac地址时。

所以,我的问题是:这种默认行为是否意味着获得随机的mac地址? 我已经检查了所有关于堆栈溢出的问题,并得到了相同的答案,但是我仍然要确认吗?

此外,如果更改mac地址是默认行为,那么更改mac地址时能否获得?

同样适用于android,如果我的android设备充当信标,并且如果我对其进行扫描,那么它仍然会旋转我的mac地址吗?

1 个答案:

答案 0 :(得分:2)

每当发布BLE广告时,iOS设备将在未指定的期限和条件后自动旋转广告包的MAC地址。

发生这种情况的确切条件和频率是无证的,专有的,并且Apple随时可能对其进行更改。尽管偶然的测试表明它通常一次只能保持几分钟的稳定运行,但是没有可靠的方法来预测iOS设备何时会轮换正在进行的BLE广告的MAC。

知道何时更改MAC的唯一方法是使iOS发布已知的iBeacon标识符,而附近没有其他设备在发布该iBeacon标识符,并在Android或其他可以读取原始广告的MAC的操作系统上跟踪该标识符。然后,您可以直接测量MAC何时更改。

以上技术有效,但在大多数使用情况下帮助有限,因为它需要两个紧邻的设备和一个iOS固定的广告。