现实场景中,经常会碰到“搜索到一个蓝牙地址,但是没有名称,无法确定是不是想连接的设备等问题?”,这个时候就想着,如果可以从地址信息中能解析出某些有用的信息,帮助我们筛选就好了。别急,还真是有可能的,让我们先来重新认识一下蓝牙地址的构成。
当然,这里介绍的是Bluetooth Address,即public address。并不针对BLE的random address。为什么呢?我们来慢慢看。

什么是Bluetooth Address(BD_ADDR)?

了解过蓝牙基本知识的人,都知道Bluetooth Address是制造商分配给每个蓝牙设备的唯一48位标识符(和电脑的MAC地址一样)。它是用来唯一识别一个物理设备的标识,正常情况下,该地址需要向IEEE申请(其实是购买,呵呵!)。企业交钱,IEEE保证地址的唯一性,皆大欢喜。
蓝牙地址通常显示为6个字节,以十六进制表示,用冒号分隔(示例- 00:11:22:33:FF:EE)。
其中,蓝牙地址的upper part(即most-significant 24 bits)被称为Organizationally Unique Identifier (OUI)。它可以用来确定设备的制造商。OUI是由电气和电子工程师协会(IEEE) Assigned。
另外,蓝牙设备地址还被用来在蓝牙设备之间的无线通信中确定跳频模式。

Bluetooth Address Structure

Bluetooth Address有三部分组成: NAP, UAP, LAP
举例来说,如下图所示:

从图中可以看到,OUI包含NAP和UAP两部分。其中NAP(Non-significant Address Part)部分2字节,为OUI的前16位;NAP值,用于跳频同步帧。另外,UAP(Upper Address Part)1字节,包含剩余的8位OUI;UAP值,被用作为各种蓝牙规范算法中的种子。

除了OUI之外,剩余的3字节,为LAP(Lower Address Part), 这部分蓝牙地址由设备供应商自己分配。LAP值,作为每一个transmitted Frame中Access Code的一部分,来唯一地标识蓝牙设备。LAP和UAP构成蓝牙地址的重要地址部分(SAP)。

解决的问题
1) 从Bluetooth Address的构成来看,属于设备商自己定义的部分,只有LAP part,即最多只能定义2^24 = 16777216个设备地址?这似乎对于某些大厂,比如Aplle,HUAWEI来讲,不够用?怎么办?
目前看来,最主要的解决方式是,每家公司多申请一些OUI,比如Apple就申请了几十个之多,当然大厂不差钱,哈哈。(因为每申请一个,就要花费一份钱向IEEE购买)。

2) 怎样通过地址,查询到厂商的信息呢?
当然有很多途径,这里分享一个比较好用的网址,如下:
添加链接描述

Click the “Lookup”, 然后就得到结果了:

3) 这一套不适合BLE的Random Address?

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

希望此文对你有帮助,感谢阅读
————————————————
版权声明:本文为CSDN博主「no输给现实」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/z497544849/article/details/106399061

解构蓝牙地址以及蓝牙MAC地址查询相关推荐

  1. MAC地址申请MAC码购买流程MAC地址哪里申请MAC地址作用

    众所周知mac地址号段全世界都是由美国一家政府机构IEEE进行分配的,也是由他们进行管理的.我站具有丰富的MAC地址申请经验,可以帮助客户有效的快速高效的完成MAC地址的申请.关于mac地址购买种类. ...

  2. 【计算机网络】网络层 : IP 组播 ( IP 数据报传输方式 | 组播 IP 地址 | 组播 MAC 地址 | IGMP 协议 | 组播路由选择协议 )

    文章目录 一.IP 数据报传输方式 二.组播 IP 地址 三.组播 MAC 地址 四.IGMP 协议 五.组播路由选择协议 一.IP 数据报传输方式 IP 数据报传输方式 : ① 单播 : 发送数据到 ...

  3. chrome web获取mac地址_老鬼傻瓜式讲解网络知识:网络设备如何通过IP地址获取设备MAC地址...

    导读:在前面老鬼向各位好友介绍一些关于网络的基础知识,同时针对ICMP协议(常见使用的Ping测试网络就是使用该协议)进行了详细介绍.具体可参见<Ping是你经常测试工业智能制造网络的工具,但你 ...

  4. 为什么有了IP地址还要有MAC地址??

    在计算机网络中,要资源共享,有条不紊的交换数据,就要遵守一些大家事先约定好的规则,这些为进行网络中的数据交换而建立的规则标准或约定称为网路协议简称协议.为了使计算机之间能够高效的传输就采用了分层,就像 ...

  5. 随机硬件地址?私有 WiFi 地址?随机 MAC 地址?

    大家好,我是小弗. 某年某月某天,发现我的 Windows 系统 PC ,WiFi 设置里面有个随机硬件地址功能. 然后特意去找了 iPhone 手机和 Android 手机的对应功能,名称分别为私有 ...

  6. 计算机网络·啥玩意是源MAC地址,目标MAC地址,源ip地址,目标ip地址

    你能清楚地知道 前言 一.别怕,类比着看 二.数据仅在交换机之间的转发 三.路由器之间的转发 四.主机之间转发 在同一个子网下(没经过路由器) 不在同一个子网下(经过路由器) 前些天发现了一个巨牛的人 ...

  7. 结合WMI和DeviceIoControl获取网卡原生MAC地址和当前MAC地址

    虽然Win32_NetworkAdapter包含了属性PermanentAddress,但是在当前的WMI里只是个空值,微软目前还没有实现这个属性值.但是我们仍可以通过结合WMI和DeviceIoCo ...

  8. 蓝牙学习七(MAC地址)

    1.简介 一个BLE设备,可以使用两种类型的地址(一个BLE设备可以同时具备两种地址):Public Device Address(公共设备地址)和Random Device Address(随机设备 ...

  9. adb 获取蓝牙 mac地址 、wifi mac地址的方法

    获取蓝牙 mac地址 adb shell settings get secure bluetooth_address 要么 adb shell service call bluetooth_manag ...

  10. linux获得蓝牙外设mac,iOS 与蓝牙操作如何获取MAC地址

    因为小弟搞了很长时间关于蓝牙设备得APP 所以对这边比较了解 因为iOS自从7以后就无法或取设备的MAC地址 网上有人说把它加到蓝牙的广播包里但是这样的话对硬件来说负担很大 而且芯片会不稳定.我这边是 ...

最新文章

  1. ValueError: max() arg is an empty sequence
  2. linux make链接.o文件,Linux操作系统至gcc编译器、makefile
  3. vim 编译 Python 代码提示配置
  4. 互联网巨头基于全球产业链打造ARM CPU
  5. java中List Set Map使用
  6. pip加速+百度镜像|清华镜像
  7. qt获取窗口的右上角位置_智能座舱QT应用实例 -- Mode/View
  8. OpenAI对强化学习环境的汇总
  9. Java虚拟机的参数
  10. C#如何运行外部程序(打开可执行程序):ShellExcute和Process
  11. MATLAB-梯度Roberts算子、拉普拉斯算子、Sobel算子、Prewitt算子对图像进行锐化
  12. 如何彻底卸载3dmax2020_3dmax卸载不干净如何解决_3dmax怎么彻底卸载干净
  13. 开源ESB服务总线记录
  14. 制作放射冲击星空粒子海报图片的PS教程
  15. java布道师_JavaWeb主管布道师
  16. 社团管理系统(part2)
  17. java实现微信抢红包_GitHub - collection8899/RedPackage: java 实现仿照微信抢红包算法
  18. android锁屏快捷键设置,Android4.0+锁屏程序开发——设置锁屏页面篇
  19. UOS桌面操作系统定制镜像(下)
  20. 蓝桥杯JAVA-7.集合(容器)在竞赛中的使用

热门文章

  1. 深入浅出mysql数据开发_深入浅出MySQL数据库开发、优化与管理维护 PDF扫描版[513KB]...
  2. 服务器系统小米随身wifi,Mac OS10.13正常使用的小米随身WIFI无线驱动 | 陳松's 博客...
  3. win10管理员权限怎么获得_终于解决了:你需要来自XXX的权限才能对此文件进行更改
  4. 迅雷U享版 v3.0.1.96 Lite V4 精简绿色版
  5. github客户端使用简易教程
  6. 第四章 软件项目进度管理
  7. Python爬虫-爬取科比职业生涯高清图集
  8. 《金字塔原理》学习笔记 | 第4篇—演示的逻辑
  9. latex 数学符号
  10. Cramer_rule克莱姆法则讲解