首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏蓝牙Ble/Mesh

    BLE安全之SM剖析(2)

    BLE安全之SM剖析(2)   上一章介绍了配对流程的第一阶段,剖析了配对第一阶段的配对请求包和配对响应包的各个字段的含义和使用。 机端和设备端分别生成一个随机数,LP_RAND_I 和 LP_RAND_R 2. 主机将LP_CONFIRM_I发送给设备端, 设备端将LP_CONFIRM_R值发送给主机端 2. 2. 双方收到对方公钥后,分别验证收到的公钥是否是合法的,双方根据ECDH算法可以计算出相同的共享密钥DHKey。 双方分别生成一个随机数Na和Nb 2.

    1.9K10编辑于 2023-02-28
  • 来自专栏FreeBuf

    深入浅出低功耗蓝牙(BLE协议

    BLE协议栈为什么要分层?怎么理解BLE“连接”?如果BLE协议只有ATT层没有GATT层会发生什么? 1. 协议栈框架 一般而言,我们把某个协议的实现代码称为协议栈(protocol stack),BLE协议栈就是实现低功耗蓝牙协议的代码,理解和掌握BLE协议是实现BLE协议栈的前提。 HCI是可选的(具体请参考文章:三种蓝牙架构实现方案(蓝牙协议栈方案)),HCI主要用于2颗芯片实现BLE协议栈的场合,用来规范两者之间的通信协议和通信命令等。 我相信很多人看了上面的介绍,还是不懂BLE协议栈的工作原理,以及每一层具体干什么的,为什么要这么分层。下面我以如何发送一个数据包为例来讲解BLE协议栈各层是如何紧密配合,以完成发送任务的。 2. 标签: ATT, GAP, Link layer, GATT, L2CAP, BLE stack, 广播, 连接, BLE协议栈, 链路层 3.

    6K43发布于 2020-12-08
  • 来自专栏车联网/IoT安全

    BLE (低功耗蓝牙)协议入门-01-整体介绍

    本章介绍蓝牙协议(重点介绍:BLE)的基本特点、版本演进、协议的构成、等基础知识,本章重在了解,目的是对BLE协议有个大概的认知,即了解BLE协议栈的全貌。 我们常说的蓝牙4.0不等同于BLEBLE只是蓝牙4.0的子集;蓝牙4.0是一个综合性协议规范。 BLE协议栈的实现方式采用分层的思想: 控制器部分包括:物理层(PHY)、链路层(LL)、控制接口层(HCI) 主机部分包括:裸机链路控制及自适应协议层(L2CAP)、安全管理层(SMP)、属性协议层( BLE采用40个信道,每个信道间隔为2MHz,分为数据信道和广播信道;广播信道占用3个,用于发现设备、建立连接、广播数据;数据信道占用37个,用于已建立连接设备间的数据通信。 没有GATT,BLE协议栈也能跑,但互联互通就会出问题。

    12.1K60编辑于 2023-10-13
  • 来自专栏嵌入式智能硬件

    蓝牙BLE技术

    就距离而言,BLE专注于非常短的距离通信。可以创建和配置一个BLE设备,该设备可以可靠地传输30米或30米以上的视线范围内的数据,但典型的操作范围可能更接近2到5米。 蓝牙BLE组成 BLE由三个主要构建模块组成:应用程序、主机和控制器。顾名思义,应用程序块是与蓝牙协议栈交互的用户应用程序。主机覆盖蓝牙协议栈的上层。控制器覆盖下层。 主机包含以下层: l 通用访问配置文件(GAP) l 通用属性配置文件(GATT) l 逻辑链路控制和适配协议(L2CAP) l 属性协议(ATT) l 安全经理(SM) l 主机控制器接口 现在我们可以转到BLE设备的主机部分。 逻辑链路控制和适配协议(L2CAP) L2CAP负责两项任务:1、它需要来自上层的多个协议,并将它们封装成标准的BLE数据包格式(反之亦然)。 2、分段和重组:它从上层获取大量数据包并将其分解为适合发送端BLE数据包的27字节最大有效载荷大小的块,反之亦然,它接收多个已经分段并重新组合的数据包将它们分成一个大的数据包然后发送到上层 L2CAP

    3.2K20发布于 2020-08-31
  • 来自专栏FreeBuf

    深入浅出低功耗蓝牙(BLE)协议栈(实战篇)

    环境搭建 上面介绍了数据包和各层协议,接下来我们将使用Ubertooth One来捕获通信过程中的蓝牙数据包。 ? -09-R2.tar.gz tar xf libbtbb-2015-09-R2.tar.gz cd libbtbb-2015-09-R2 mkdir build cd build cmake .. make ubertooth-2015-09-R2.tar.xz -O ubertooth-2015-09-R2.tar.xz tar xf ubertooth-2015-09-R2.tar.xz cd ubertooth /configure make && make plugins sudo make suidinstall sudo make plugins-install (6)安装BLE解密工具crackle crackle capture occurs. ubertooth-btle -f -ctest.pcap抓包&保存到本地 使用这条命令我们可以把设备捕获到的数据包保存到本地,完成后可导入wireshark进行数据包、协议分析

    3.9K20发布于 2020-12-09
  • 来自专栏linux驱动个人学习

    蓝牙协议分析(2)_协议架构

    前言 本文是蓝牙协议分析的第二篇文章,在“蓝牙协议分析(1)_基本概念”的基础上,从整体架构的角度,了解蓝牙协议的组成,以便加深对蓝牙的理解。 2. 蓝牙协议分为四个层次:物理层(Physical Layer)、逻辑层(Logical Layer)、L2CAP Layer和应用层(APP Layer)。 L2CAP层,L2CAP是逻辑链路控制和适配协议(Logical Link Control and Adaptation Protocol)的缩写,负责管理逻辑层提供的逻辑链路。 基于该协议,不同Application可共享同一个逻辑链路。类似TCP/IP中端口(port)的概念。 APP层,理解蓝牙协议中的应用层,基于L2CAP提供的channel,实现各种各样的应用功能。 2.3 L2CAP Channels L2CAP是Logical Link Control and Adaptation Protocol(逻辑链路控制和适配协议)的缩写,蓝牙协议到这个层次的时候,就清爽多了

    3.8K12发布于 2021-10-18
  • 来自专栏我杨某人的青春满是悔恨

    RxSwift 与 BLE 实战——VisualBlue

    对 RxSwift 及 BLE 感兴趣的同学可以看看,或有所得。

    1.4K20发布于 2018-09-10
  • 蓝牙BREDR 和BLE综述

    BLE技术的起源与基础版本 BLE技术起源于蓝牙4.0版本,该版本首次引入了低功耗蓝牙协议栈,旨在降低蓝牙设备的功耗,延长电池寿命。 LE2M(Long Range 2M): LE2M是BLE技术的一个扩展版本,它提供了比标准BLE更远的通信距离和更高的数据传输速率。 通过优化传输功率和接收灵敏度,LE2M使得BLE设备能够在更远的距离内进行稳定通信,适用于需要较远距离通信但仍然要求低功耗的应用场景。 2. BLE 5.0及更高版本: 传输速度与距离提升:BLE 5.0在传输速度和传输距离上相比前代有了显著提升。其传输速度比前代提高了2倍,达到2Mbps,同时传输距离也提高了4倍,最远可达300米。 特点:BLE以其低功耗著称,适用于不需要高数据传输速率但对功耗有严格要求的应用场景,如健康监测设备、智能家居控制等。BLE技术还具备快速连接与断开、短距离通信以及简化的协议栈等优势。 3.2.

    62310编辑于 2026-01-20
  • 来自专栏iOSDevLog

    Android 原生 BLE 开发

    Attribute Protocol(ATT)— GATT 在 ATT 协议基础上建立,也被称为 GATT/ATT。ATT 对在 BLE 设备上运行进行了优化,为此,它使用了尽可能少的字节。 // 使用此检查确定 BLE 是否支持在设备上,然后你可以有选择性禁用 BLE 相关的功能 if (! ---- 你的 app 能与 BLE 通信之前,你需要确认设备是否支持 BLE,如果支持,确认已经启用。 如果不支持BLE,那么你应该适当地禁用部分BLE功能。如果支持BLE但被禁用,你可以无需离开应用程序而要求用户启动蓝牙。使用BluetoothAdapter两步完成该设置。 private static final int STATE_CONNECTING = 1; //设备正在连接状态 private static final int STATE_CONNECTED = 2;

    5.2K20发布于 2018-07-04
  • 来自专栏写代码和思考

    低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端

    低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端 Android对外模模式(peripheral)的支持 从Android5.0开始才支持 关键术语和概念 以下是关键BLE术语和概念的摘要 属性协议(ATT) -GATT建立在属性协议(ATT)之上。 这也称为GATT / ATT。 ATT经过优化,可在BLE设备上运行。 为此,它使用尽可能少的字节。 角色和职责 以下是Android设备与BLE设备互动时适用的角色和职责: 中央与外围。 这适用于BLE连接本身。 处于中心角色的设备扫描,寻找广告,并且外围角色中的设备进行广告。 然后在运行时,您可以通过使用PackageManager.hasSystemFeature()确定BLE可用性: // Use this check to determine whether BLE 2.onDescriptorWriteRequest:device name = null, address = 74:32:DE:49:3C:28 2.onDescriptorWriteRequest

    2.5K00发布于 2020-03-16
  • 来自专栏orientlu

    BLE 广播格式定义

    BLE 考虑功耗, 使用了3个广播信道,顺序广播。 两个蓝牙设备想要建立连接, 第一步是 从机(server) 向外广播, 主机(client) 搜索到后发起请求。 value note 0x05 len 0x03 Complete List of 16-bit Service Class UUIDs 0x22 uuid1_L 0x11 uuid1_H 0x22 uuid2_ L 0x33 uuid2_H 广播中的厂商信息 这个一段的广播标记时 0XFF, 对应用于标记设备的生产商和其他信息。

    4.5K20发布于 2018-09-13
  • 来自专栏嵌入式智能硬件

    蓝牙---BLE GATT介绍

    Attribute | | Protocol | <----> | Protocol | --------------- --------------- | L2CAP | <----> | L2CAP | --------------- --------------- | Controller | <----> | Controller 高层协议也可以定义协议相关的Characteristic Descriptors Characteristic Descriptors在服务端上是无序的,Client不应该理所当然 Characteristic Descriptors Declarations Permissions由高层协议定义或协议相关的 Client不应该理所当然地认为是可读的 Characteristic Descriptor Declarations Server Configuration 2. Primary Service Discovery 3. Relationship Discovery 4.

    4.2K20发布于 2020-08-31
  • 来自专栏捉虫大师

    聊聊dubbo协议2

    在《聊聊dubbo协议》中介绍了attachments在consumer和provider间的传递情况,有个疑问没有给出答案。 dubbo协议如何处理协议的兼容的? 从RmiProtocol类中能看到dubbo针对2.7.0、2.6.3两个边界进行了版本兼容 ? 版本信息从哪里来呢? [2.5.3, 2.6.3)版本中,dubbo版本与dubbo协议没有分开,都是用url上的dubbo参数,值是对应的版本号,取值范围是 >=2.0.0 && <=2.6.2 [2.6.3, 2.7.0 )版本,无法从provider注册的url上看出dubbo版本,dubbo协议版本是从url的dubbo参数获取,固定为2.0.2 2.7.0之后的版本,dubbo版本在provider的url release 参数上,dubbo协议版本在dubbo参数上,目前还是2.0.2 最后 通过这次分析知道了2.7.x的dubbo为什么provider不能带回隐式参数了,这应该是dubbo 2.7.x的一个bug。

    84421发布于 2021-03-03
  • 来自专栏猫头虎博客专区

    什么是A2A协议?什么是MCP协议?A2A和MCP协议哪个更好?

    什么是A2A协议?什么是MCP协议?A2A和MCP协议哪个更好? 通过阅读本文,您将能够清晰地了解A2A协议和MCP协议的区别,以及它们如何支持智能体协作、语言模型与外部系统的交互,以及在实际开发中如何选择更适合的协议来优化您的AI解决方案。 什么是A2A协议? A2A协议的技术原理 通信架构:A2A协议通常基于常见的Web标准技术,如HTTP和JSON-RPC,使智能体能够通过Web服务进行交互。 A2A协议的应用场景 A2A协议特别适用于需要多个智能体协同工作的场景,例如在智能制造、金融分析、客服机器人等行业中。通过A2A协议,多个智能体可以协调工作,共享信息并共同完成复杂任务。 A2A协议与MCP协议哪个更好? 选择哪个协议更好,取决于实际应用需求。

    2.5K10编辑于 2025-04-12
  • 来自专栏c++与qt学习

    Oauth2协议

    Oauth2简介 第三方认证技术方案最主要是解决认证协议的通用标准问题,因为要实现跨系统认证,各系统之间要遵循一定的接口协议。 OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。 Oauth协议目前发展到2.0版本,1.0版本过于复杂,2.0版本已得到广泛应用。 参考:https://baike.baidu.com/item/oAuth/7153134? fr=aladdin Oauth 协议:https://tools.ietf.org/html/rfc6749 下边分析一个Oauth2认证的例子,网站使用微信认证的过程: 1.用户进入网站的登录页面 ,造成各种实现的兼容性和互操作性差 ​ 不是一个认证协议,本身并不能告诉你任何用户信息。 Oauth2RestTemplate会报错,这个报错信息会被Oauth2ClientContextFilter捕获并重定向到认证服务器 认证服务器通过Authorization Endpoint进行授权

    1.8K10编辑于 2021-12-07
  • 来自专栏陈冠男的游戏人生

    BLE中继攻击的探索

    最早了解 BLE 中继攻击是在 2022 年 3 月份,在网上搜了一堆关于 BLE 攻击方法的介绍,但当时并不知道无钥匙进入系统这么个东西,所以没感觉到中继攻击有什么大用途,当时接触的是些手环、灯泡这类的物联网设备 后来在 5 月份的时候 NCC 发布了 BLE 链路层中继解锁特斯拉的视频(https://youtu.be/5mdU4ksOc2w),发现原来 BLE 中继还挺有用的,就回头看了看之前搜集的资料,尝试搭建了 /youtu.be/2CvHM5gZVnY),当时在他们公开的 PPT 中说要对固件进行修改,嗯? 不会嵌入式开发,告辞 后来看到了小米的师傅们要在 KCon 分享他们实现的 BLE 链路层中继,斥巨资买了张门票(真就为了这个议题去的哈哈哈)然后心满意足的听了小米的师傅们对 BLE 攻击的分享(还说工具要在 原视频:https://youtu.be/myW2cxyOHEQ

    2.2K40编辑于 2023-10-07
  • 来自专栏云深之无迹

    索尼相机BLE控制接口

    索尼相机现在支持基于蓝牙低功耗 (BLE) 的控制协议。该接口允许客户端控制以及从支持 BLE 的遥控器获取状态。 遙控器 对于启用了索尼 BLE 的相机,发现过程相当简单。 (这里是因为上面换行了,这里回分开) 捕获的信息 SONY制造商的bit意思 总而言之,我们搜索其制造数据包含以下内容的tag包: 0x2D 0x01 0x03 0x 00 0x64 0x 00 例如 ILCE-7C 有8E3F7E15-AF80-1567-D946-A9190C2Cf98A 服务 支持的摄像机有多种操作模式,可确定哪些服务可操作。 命令 回应 如果存在协议错误,IRC 将返回 0x0185 GATT 状态。如果拍摄照片或开始录制等过程,将发送各种通知。 原生的遥控器260元,有了协议,几十块钱就可以做一个,而且功能可以做的更多。 至于实现,我应该是写过。大家感兴趣的去翻翻。

    1.1K20编辑于 2022-09-06
  • 来自专栏全栈程序员必看

    比特币p2p协议_协议栈p2p

    每个节点都参与验证并传播交易及区块信息,发现并维持与对等节点的连接 比特币主网络:大约5000-8000个运行着不同版本比特币核心客户端(Bitcoin Core)的监听节点 + 以及几百个运行着各类比特币P2P 协议的应用,一小部分节点也是挖矿节点,大型公司运行 着基于Bitcoin核心客户端的全节点客户端(它们具有区块链的完整拷贝及网络节点,但不具备挖矿及钱包功能),这些节点是网络中的边缘路由器(edgerouters 比特币P2P主网络上连接着许多矿池服务器以及协议网关,它们把运行其他协议的节点连接起来。这些节点通常都是矿池挖矿节点(参见挖矿章节)以及轻量级钱包客户端,它们通常不具备区块链的完整备份。 新的网络节点必须发现至少一个网络中存在的节点并建立连接 由于比特币网络的拓扑结构并不基于节点间的地理位置,因此各个节点之间的地理信息完全无关 节点通常采用TCP协议

    1.5K10编辑于 2022-09-27
  • 来自专栏物联网思考

    几款常用的ble调试app(nRF Connect、BLE调试助手、LightBlue)

    (1)打开手机app,扫描周围的设备(从机),支持过滤功能 (2)设备信号强度(RSSI)查看 可以很清晰的观察rssi的变化: (3)连接设备 点击“CONNECT”按钮,即可连接目标设备 2BLE调试助手 这个是南京沁恒开发的app,调试起来也比较方便,支持从机模式,用法和nRF Connect差不多。 (1)从机模式切换,默认是主机模式 (2)扫描从机 (3)连接从机 (4)查看服务与特征 (5)特征读写 (6)修改MTU 3、LightBlue 在ios上一般使用这个调试 (1)扫描设备 (2)连接设备 连接上后可以看到连接状态、以及广播数据,并且每个服务都是展开,每个服务下面的特征也一目了然。 (3)特征读写 (4)修改MTU 上面3个ble调试app,都可以使用,个人推荐nRF Connect和BLE调试助手。

    14K30发布于 2021-11-04
  • 来自专栏python基础文章

    网络安全协议2

    2.CC体系一共包括3大部分 分别是:信息技术安全性评价通用准则,信息技术安全评价通用方法,通用准则识别协议。 (2)保护轮廓(PP)。PP是一种TOE类型的安全需求的独立强制性描述。PP是用户对安全需求的明确表述。 ---- 2.一般模型 为了消除不正当的压力对评估的影响,CEM定义了4个角色:发起者、开发者、评估者和评估权威机构。 发起者负责请求和支持评估,负责建立评估协议(即委任评估),并且保证评估者提供评估证据。开发者开发TOE,并且对于提供的评估所需的证据负责(即培训,设计信息)。 ---- 六.通用准则识别协议 通用准则识别协议(CCRA)列出了有CC认证授权的参与者(Participant),例如美国国家安全局、加拿大国家通信安全机构、芬兰国家财政部、希腊内政部等,之后详细叙述了这些机构的权利

    71050编辑于 2023-10-15
领券