• 参考链接(https://macaddresschanger.com/what-is-bluetooth-address-BD_ADDR)

1. 前言

蓝牙是什么?蓝牙是一种支持设备短距离通信(一般 10m 以内)的无线电技术,被广泛应用于手机、电脑、鼠标、键盘、蓝牙音箱,当下非常流行。从 1999 年的蓝牙 1.0 进化到 2016 年的蓝牙 5.0,从经典蓝牙到低功耗蓝牙,这项技术一直在进步,市场也在不断扩大。在未来,蓝牙也是我们生活之中不可缺少的一部分,正逐步改变我们的生活方式。本文主要对蓝牙地址做一下解析,方便我们在分析蓝牙数据包时不至于太盲目。

2. 蓝牙地址组成

Bluetooth Device Address 蓝牙设备地址可分为两类:公开设备地址(public device address)和随机地址(random device address)。

2.1 Public address

Bluetooth Address 即 Public address ,并不针对 BLE 的 random address。公开设备地址需要向 IEEE 协会申请,是需要购买的,但是可以保证地址的唯一性。Bluetooth Address(BD_ADDR):是制造商分配给每个蓝牙设备的唯一 48 位。它是用来唯一识别一个物理设备的标识。正常情况下,该地址需要向IEEE 申请(购买),可以确保地址的唯一性。蓝牙地址通常显示为 6 个字节,以 16 进制表示,用冒号分隔(示例:- 00:11:22:33:FF:EE )。其中,蓝牙地址的 upper part(即most-significant 24 bits)被称为 Organizationally Unique Identifier(OUI)。它可以用来确定设备的制造商。OUI 是由电气和电子工程师协会IEEE 分配。另外,蓝牙设备地址还被用来在蓝牙设备之间的无线通信中确定跳频模式。

蓝牙地址结构由三部分组成:NAP、UAP 和 LAP。 NAP 非有效地址部分(2 个字节)。包含 OUI 的前 16 位。 NAP 值用于跳频同步帧。 UAP 高地址部分(1 个字节)。包含 OUI 的剩余 8 位。 UAP 值用于在各种蓝牙规范算法中。 LAP 低地址部分(3 个字节)。这部分蓝牙地址由设备供应商分配。 LAP 值将蓝牙设备唯一标识为每个传输帧中访问代码的一部分。 LAP 和 UAP 构成蓝牙地址的重要地址部分 (SAP)。

2.2 Random Address

因为 Random Address 的设备地址不是固定分配的,而是在设备启动后随机生成的,而且会根据一定的周期发生变化。它的出现正是为了规避 Public Address申请/维护成本高、复杂等的问题的,当然这主要是可以保证地址可变,更安全。

3. 蓝牙嗅探

通过ubertooth one设备运行ubertooth-rx命令嗅探到的蓝牙数据信息如下图:

关注公众号(Linux兵工厂),获取更多资讯

蓝牙地址解析(NAP/UAP/LAP)相关推荐

  1. Bluetooth: Defining NAP + UAP + LAP

    NAP,UAP和LAP实际上是什么以及它们来自何处.它们是6字节"BD_ADDR"(蓝牙设备地址)的3个组成部分: NAP:"非重要地址部分".2个字节.这是由 ...

  2. 蓝牙模块的配置(HC05):修改密码、修改模块名字、修改波特率。

    蓝牙模块是电子开发经常使用的模块,通常使用串口协议的方式与蓝牙通信, 从而完成数据的传输,串口通信很常见,用起来也很简单,几乎所有的单片机都配有串口通信功能. 蓝牙模块用于小数据量的无线传输,使用很方 ...

  3. HC-05蓝牙模块AT指令设置教程

    HC-05蓝牙模块AT指令设置教程 进入AT指令模式 上电前先按住蓝牙模块上的按键,接通电源,模块上的led灯进入慢闪后再松开按键,此时已经进入AT指令模式,可以进行AT指令设置 引脚接线 蓝牙模块 ...

  4. Arduino驱动HC-05蓝牙模块

    HC-05模块概述 HC-05是一个蓝牙模块,连接到微控制器的串行端口,允许微控制器通过蓝牙连接与其他设备通信.模块本身可以在主模式和从模式下运行,并且可以用于各种应用,例如,智能家居应用,远程控制, ...

  5. 蓝牙HC-05 配对过程以及注意事项

    蓝牙HC-05 配对过程以及注意事项 这种MCU用的蓝牙模块已经做了集成,一个模块做主机,一个做从机,配对之后直串口发送,另一端串口接收即可,相当于一个 无线的串口,就是人们经常说的透传了,可以说是相 ...

  6. 九、stm32-蓝牙HC_05(接发通信、控制LED亮灭)

    目录 一.固件库模板 二.准备资料 三.简介 1. 引脚 2. AT: 设置工作模式 3. 基本配置(所有AT指令都必须换行) 4. AT命令的详细说明 四.实验 1.硬件设计 2.软件设计 2.1 ...

  7. 为啥需要BLE+UWB Beacon?BLE+UWB经典应用:苹果AirTag等防丢标签提示我们,或许是UWB高精度定位落地的未来发展方向

    一.BLE基本特性: 低功耗:在所有有源无线通讯设备中,综合通讯距离和通讯带宽,BLE是表现最佳的无线技术: 低延迟:连接速度很快,毫秒级的连接速度: 远距离:长达数百米的通信距离: 低成本:工作在2 ...

  8. 学java看什么书好

    学java看什么书好呢.. 这没有个定论.. 没有人敢保证你看啥书你就能学好java.. 关键还从自身分析.. 学java的人 什么样的人都有.. 有高中生, 有中专, 有大学毕业的, 也有的是有电脑 ...

  9. 蓝牙第一章:概述、无线技术协议和基带协议

    1.蓝牙技术的诞生与发展 1994年,爱立信公司为了在移动电话及其附件之间探求一种新的低功耗.低成本的空中接口,要能够去除连接移动电话与耳机.笔记本电脑及其它设备之间繁杂的线缆,更主要的目的则是分析有 ...

最新文章

  1. Scott的ASP.net MVC框架系列文章之四:处理表单数据(2)
  2. 成都铁路警方联合多部门开展反恐防暴演练
  3. windows 2008 server R2 按服务器角色的版本对比
  4. 【Arduino】HX711 拉力计称重模块 两个模块同时使用
  5. python实战excel_实战python 读写EXCEL表
  6. mongodb 安装、启动
  7. ubuntu7.10中的apache的一些设置
  8. 【TensorFlow-windows】(四) CNN(卷积神经网络)进行手写数字识别(mnist)
  9. MFC Windows程序设计源码免费下载
  10. 图像处理之matlab中imnoise函数用法详解
  11. 微信客户端电话人工服务器,微信客服电话多少 微信客服电话人工服务怎么接通...
  12. HTML5期末考核大作业网站——卫生与健康HTML+CSS+JavaScript
  13. 电脑显示nt服务器发生错误,Windows NT常见问题(一)
  14. Python最新就业信息
  15. 美国计算机硕士不接受雅思,美国留学:不接受雅思的大学盘点
  16. ubuntu清理缓存
  17. 麒麟659鸿蒙系统,华为官宣自研系统,麒麟659以上的华为手机可以直接切换新系统...
  18. 【Pytest篇】pytest的parametrize之ids参数正文编码问题
  19. 出版社--图书管理系统
  20. php getter,IntelliJ IDEA生成Getter和Setter方法

热门文章

  1. Armijo-Goldstein法则和Wolfe-power法则图解
  2. oracle rman备份spfile,利用RMAN自动备份转储Spfile
  3. python 自动生成word文档,用 Python 自动生成 Word 文档
  4. 号外!2021考研政治肖1000大幅修订?你的肖1000Anki牌组笔记已出炉!
  5. 怎么用java做全民飞机大战_基于VC++和OpenCV实现的全民飞机大战游戏
  6. 鸿蒙系统可以跟ios媲美吗,华为鸿蒙三年媲美苹果iOS?技术上问题不大,生态才是真正考验...
  7. 苹果股价两月累计跌25% 市值跌破5000亿
  8. 基于行为模拟爆破C/S架构客户端程序的一些猜想实现
  9. office被wps捆绑,wps删不干净,word等文件打开始终默认为wps怎么办
  10. 这有一套完整的微信公众号代运营方案