在BLE中随机化Mac地址



我做了一个应用程序,它可以将iOS设备变成灯塔。现在,当我从android设备扫描BLE设备时,我在扫描列表中得到了iOS设备,但问题是每次我得到随机的Mac地址。

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

此外,如果更改mac地址是默认行为,那么我们能知道mac地址何时更改吗?

同样适用于android,如果我的android设备用作信标,如果我扫描它,它仍然会旋转我的mac地址?

每当发布BLE广告时,iOS设备都会在未指定的时间段和条件后自动轮换广告包的MAC地址。

发生这种情况的确切条件和频率是未记录的、专有的,苹果随时可能更改。目前还没有可靠的方法来预测iOS设备何时会轮换正在进行的BLE广告的MAC,尽管随机测试显示它通常一次稳定几分钟。

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

上述技术有效,但在大多数用例中帮助有限,因为它需要两个紧邻的设备和iOS的固定广告。

最新更新