加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

蓝牙MAC地址_摘录

(2022-10-21 08:30:15)
标签:

蓝牙

信号

分类: 资料收藏

蓝牙MAC地址

1.1概述

MAC地址:Media Access Control Address(设备的媒体存取控制位地址)

MAC地址分类:公共设备地址和随机设备地址。

一个 BLE 设备,可以使用这两种类型的地址(一个 BLE 设备可同时具备这两种地址)。

其中,随机设备地址可分为静态设备地址和私密设备地址,私密设备地址可分为不可解析私密地址和可解析私密地址。

蓝牙MAC地址_摘录

蓝牙MAC地址_摘录

蓝牙MAC地址_摘录
蓝牙MAC地址_摘录

 

 

 

 

静态设备地址的特征可总结为:

1)最高两个 bit  11”。

2)剩余的 46bits 是一个随机数,不能全部为0,也不能全部为1

3)在一个上电周期内保持不变。

4)下一次上电的时候可以改变。但不是强制的,因此也可以保持不变。如果改变,上次保存的连接等信息,将不再有效。

静态设备地址的使用场景可总结为:

146bits 的随机数,可以很好地解决“设备地址唯一性”的问题,因为两个地址相同的概率很小。

2)地址随机生成,可以解决公共设备地址申请所带来的费用和维护问题。

蓝牙MAC地址_摘录

 

 

不可解析私密地址的特征可总结为:

1)最高两个 bit  “00”

2)剩余的 46bits 是一个随机数,不能全部为0,也不能全部为1

3)以 T_GAP(private_addr_int) 为周期,定时更新。

蓝牙MAC地址_摘录

 

可解析私密地址的特征可总结为:

1)高位 24bits 是随机数部分,其中最高两个 bit 为“10”,用于标识地址类型;低位 24bits 是随机数和 IRK 经过 hash 运算得到的 hash值,运算公式为 hash = ah(IRK, prand)

2)当主端 BLE 设备扫描到该类型的蓝牙地址后,会使用保存在本机的 IRK,和该地址中的 prand,进行同样的hash 运算,并将运算结果和地址中的 hash 字段比较,相同的时候,才进行后续的操作。这个过程称作 resolve(解析),如果不同则继续用下一个 IRK 做上面的过程,直到找到一个关联 IRK 或者一个也没找到。

3)以T_GAP(private_addr_int) 为周期,定时更新。哪怕在广播、扫描、已连接等过程中,也可能改变。

4Resolvable Private Address 不能单独使用,因此需要使用该类型的地址的话,设备要同时具备 Public Device Address 或者 Static Device Address 中的一种。

1.4 分析广播包中蓝牙MAC地址

使用抓包工具抓取类似如下数据包:

蓝牙MAC地址_摘录

 

其中数据包第 部分:

蓝牙MAC地址_摘录

 

其中 TxAdd 表示发送方的地址类型( public1 random)。

RxAdd 表示接收方的地址类型。

对于普通广播来说,只有 TxAdd 的指示是有效的,表示广播发送者的第一类型。而对于定向广播来说,TxAdd RxAdd 都是有效的。

其中数据包第 部分:

蓝牙MAC地址_摘录

 

如果是随机设备地址,则查看地址的最高两位。

l  如果是 “11” 就是静态随机地址。

l  如果是 “00” 就是不可解析私密地址。

l  如果是 “01” 就是可解析私密地址,并执行上面说过的 hash 方法进行解析。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有