windows - 微软蓝牙低功耗广告
问题描述
在执行低功耗蓝牙扫描时,我遇到了两个我不理解的广告数据包。这两个数据包分别是:
0x1eff060001092000f4a6326eb7f6dd2338b0b3502d434ffb6d5b89ae3082ab
和
0x1eff060001092000a6fac5c9f755e1fcdf29e6732d047c37825cd44aee744c
阅读最新的蓝牙核心规范版本 5.0,似乎这些广告包来自微软。实际上,广告数据包的结构是Length-Type-Value,如果我是对的,这里我有:
- 长度:
0x1e
十六进制表示十进制转换后的“30字节” - 类型:
0xff
表示“制造商特定数据”(请参阅蓝牙通用访问配置文件) - 价值 :
0x060001092000a6fac5c9f755e1fcdf29e6732d047c37825cd44aee744c
分析“制造商特定数据”类型的结构,公司标识符描述在值的前两个字节中。这里,两个广告包的公司标识符是 0x0600(大端序)。将其转换为 little-endian (0x0006),我从蓝牙分配的公司标识符中找到了“Microsoft” 。
实际上,我的问题是:
(1) 有谁知道这0x01092000f4a6326eb7f6dd2338b0b3502d434ffb6d5b89ae3082ab
部分是什么意思?
(2) 有谁知道这种特定类型的广告数据包是如何触发的(由启用蓝牙的计算机或其他 Microsoft 硬件)?
根据我的观察,可以得出以下值的模式:
- 第一部分:
0x01092000
- 第二部分:23字节数据(例如,
0xf4a6326eb7f6dd2338b0b3502d434ffb6d5b89ae3082ab
)
在定义了这两个部分之后,我不知道它们代表什么......
在此先感谢您的帮助 :)。
解决方案
这是这里描述的广告信标
第一部分 0x01092000 告诉您发件人是 Windows 10 桌面 (09),第二部分是 4 随机字节盐,后跟设备指纹的 SHA256 哈希。
推荐阅读
- angular - ng2Charts/chart.js 将图表类型更改为一个正在影响许多图表
- ios - 显示具有独立姓名号码对的联系人
- php - 如何使用aws服务器解决codeigniter邮件成为垃圾邮件
- vue.js - Vuex store getter 总是返回 false
- angularjs - 使用 angular.js TypeError:无法读取未定义的属性“UserId”
- java - 如何在 Eclipse 中的断点后恢复通常的工作流程?
- javascript - 如何在 mat-table 中仅显示第一行的按钮
- r - rvest:返回给定多个列表的空节点的 NA
- sql - 在 Postgresql 中检查条件的约束
- c++ - 试图理解调车场算法