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

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

    BLE协议栈为什么要分层?怎么理解BLE“连接”?如果BLE协议只有ATT层没有GATT层会发生什么? 1. 协议栈框架 一般而言,我们把某个协议的实现代码称为协议栈(protocol stack),BLE协议栈就是实现低功耗蓝牙协议的代码,理解和掌握BLE协议是实现BLE协议栈的前提。 在深入BLE协议栈各个组成部分之前,我们先看一下BLE协议栈整体架构。 ? 如上图所述,要实现一个BLE应用,首先需要一个支持BLE射频的芯片,然后还需要提供一个与此芯片配套的BLE协议栈,最后在协议栈上开发自己的应用。 可以看出BLE协议栈是连接芯片和应用的桥梁,是实现整个BLE应用的关键。那BLE协议栈具体包含哪些功能呢?

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

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

    本章介绍蓝牙协议(重点介绍:BLE)的基本特点、版本演进、协议的构成、等基础知识,本章重在了解,目的是对BLE协议有个大概的认知,即了解BLE协议栈的全貌。 我们常说的蓝牙4.0不等同于BLEBLE只是蓝牙4.0的子集;蓝牙4.0是一个综合性协议规范。 BLE协议栈的实现方式采用分层的思想: 控制器部分包括:物理层(PHY)、链路层(LL)、控制接口层(HCI) 主机部分包括:裸机链路控制及自适应协议层(L2CAP)、安全管理层(SMP)、属性协议层( 图片 03-链路层(LL) 低功耗蓝牙参考 《Core_v5.3.pdf》中 Part B: Link Layer Specification 章节部分,LL层是整个BLE协议栈的核心,也是BLE协议栈的难点和重点 没有GATT,BLE协议栈也能跑,但互联互通就会出问题。

    12.1K60编辑于 2023-10-13
  • 来自专栏测试游记

    11-其他协议

    遇到文件结束符再次循环 比如文件有2行,循环6次, True:则2行2行的运行6次 False:运行2行后剩余4次运行失败 遇到文件结束符停止线程 True:文件读取完停止任务 False:运行到线程次数结束 其他协议

    1K60发布于 2021-04-29
  • 来自专栏嵌入式智能硬件

    蓝牙BLE技术

    蓝牙BLE组成 BLE由三个主要构建模块组成:应用程序、主机和控制器。顾名思义,应用程序块是与蓝牙协议栈交互的用户应用程序。主机覆盖蓝牙协议栈的上层。控制器覆盖下层。 主机包含以下层: l 通用访问配置文件(GAP) l 通用属性配置文件(GATT) l 逻辑链路控制和适配协议(L2CAP) l 属性协议(ATT) l 安全经理(SM) l 主机控制器接口 现在我们可以转到BLE设备的主机部分。 逻辑链路控制和适配协议(L2CAP) L2CAP负责两项任务:1、它需要来自上层的多个协议,并将它们封装成标准的BLE数据包格式(反之亦然)。 层负责或路由两个主要协议:属性协议(ATT)和安全管理器协议(SMP)。 属性协议(ATT) 属性协议(ATT)是基于设备呈现的属性的简单客户端/服务器协议。客户端从服务器请求数据,然后服务器将数据发送给它的客户端。

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

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

    环境搭建 上面介绍了数据包和各层协议,接下来我们将使用Ubertooth One来捕获通信过程中的蓝牙数据包。 ? /configure make && make plugins sudo make suidinstall sudo make plugins-install (6)安装BLE解密工具crackle crackle capture occurs. ubertooth-btle -f -ctest.pcap抓包&保存到本地 使用这条命令我们可以把设备捕获到的数据包保存到本地,完成后可导入wireshark进行数据包、协议分析 使用规则过滤数据包:参考Capturing BLE in Wireshark btle.data_header.length > 0 || btle.advertising_header.pdu_type understanding-bluetooth-advertising.html 路人甲@乌云drops:Bluetooth Low Energy 嗅探 疯狗@乌云drops:物联网安全拔“牙”实战——低功耗蓝牙(BLE

    3.9K20发布于 2020-12-09
  • 网络协议与攻击模拟-11-DHCP协议原理

    DHCP 协议 1、掌握 DHCP 的工作原理 2、会在 Windows server 上去部署 DHCP 服务 3、抓流量 .正常 ·收到攻击后 一、 DHCP 1、 DHCP 基本概念 · dhcp (动态主机配置协议):主要就是给客户机提供 TCP / IP 参数( IP 地址、子网掩码、网关、 DNS 等) 2、好处 ·减少管理员工作量 ·避免输入错误 ·避免 IP 冲突 ·提高 IP 地址利用 3、 DHCP 的工作原理 .它是一个应用层的协议,基于 UDP ,主机是向服务器的67号端口,服务器响应给客户机的68号端口 .客户机与服务器的交互过程 ○客户机发送 dhcp

    21310编辑于 2025-08-19
  • 物联网协议11. LoRaWAN

    LoRaWAN被定义为网络中的系统架构和通信协议,而LoRa是允许建立远距离通信连接的物理层。 网络架构和协议是决定节点电池寿命、网络容量、服务质量、安全级别以及所服务应用范围的最有影响力的因素。

    16910编辑于 2026-04-17
  • 来自专栏我杨某人的青春满是悔恨

    RxSwift 与 BLE 实战——VisualBlue

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

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

    核心优势 成熟的技术基础和广泛的市场支持 技术体系:稳定硬件设计、完善软件协议、丰富应用场景。 市场基础:众多设备制造商支持,高普及率和用户基础。 数据包格式 BLE的数据包格式确保了数据传输的完整性和可靠性,其基本结构包括前导序列、访问地址、PDU(Protocol Data Unit,协议数据单元)报头、PDU长度、PDU数据和CRC(Cyclic 简化的协议栈:降低了开发成本和复杂性,提高了设备的兼容性和互操作性。 BLE技术的起源与基础版本 BLE技术起源于蓝牙4.0版本,该版本首次引入了低功耗蓝牙协议栈,旨在降低蓝牙设备的功耗,延长电池寿命。 特点: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两步完成该设置。 连接到GATT服务端 ---- 与一个BLE设备交互的第一步就是连接它——更具体的,连接到BLE设备上的GATT服务端。

    5.2K20发布于 2018-07-04
  • 来自专栏用户1692782的专栏

    手撕Rtmp协议细节(11)——videoData

    好了,这一篇介绍完,关于rtmp协议的交互流程我们也介绍完毕了,这一遍走完,我们对rtmp有了基本的了解,知道了其基本的协议交互流程,以及其数据封装的格式。 了解一个协议,核心就是掌握其数据组织格式以及协议交互流程,通过这一系列的文章,相信我们可以对rtmp做到心中有数。 结语 写到这一篇,关于rtmp协议的专题也就告一段落了,希望对各位有所帮助 ?

    3.3K20发布于 2020-05-26
  • 来自专栏写代码和思考

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

    低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端 Android对外模模式(peripheral)的支持 从Android5.0开始才支持 关键术语和概念 以下是关键BLE术语和概念的摘要 : 通用属性简档(GATT) - GATT简档是用于通过BLE链路发送和接收称为“属性”的短数据块的一般规范。 属性协议(ATT) -GATT建立在属性协议(ATT)之上。 这也称为GATT / ATT。 ATT经过优化,可在BLE设备上运行。 为此,它使用尽可能少的字节。 角色和职责 以下是Android设备与BLE设备互动时适用的角色和职责: 中央与外围。 这适用于BLE连接本身。 处于中心角色的设备扫描,寻找广告,并且外围角色中的设备进行广告。 然后在运行时,您可以通过使用PackageManager.hasSystemFeature()确定BLE可用性: // Use this check to determine whether BLE

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

    BLE 广播格式定义

    BLE 考虑功耗, 使用了3个广播信道,顺序广播。 两个蓝牙设备想要建立连接, 第一步是 从机(server) 向外广播, 主机(client) 搜索到后发起请求。 如果我只想广播其中一个 value note 0x03 len 0x02 Incomplete List of 16-bit Service Class UUIDs 0x22 uuid_L 0x11 uuid_H 如果我两个都广播 value note 0x05 len 0x03 Complete List of 16-bit Service Class UUIDs 0x22 uuid1_L 0x11 uuid1 0x03 Complete list of 16-bit Service UUIDs, 列出所有服务uuid ,否则使用imcomplete 0x15 PANU service class UUID 0x11 0x1F Hands-free Audio Gateway service class UUID 0x11 0x01 Length of this data 0x05 Complete list

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

    蓝牙---BLE GATT介绍

    characteristic的发现、读、写、通知(Notifing)、指示(Indicating) 及配置characteristic的广播 GATT可以被Application或其他Profile使用 其协议栈如下图 高层协议也可以定义协议相关的Characteristic Descriptors Characteristic Descriptors在服务端上是无序的,Client不应该理所当然 Characteristic Descriptors Declarations Permissions由高层协议定义或协议相关的 Client不应该理所当然地认为是可读的 Characteristic Descriptor Declarations GATT Feature Requirements 4.1 Overview GATT中定义了11项Feature 1. Server Configuration 2. Reading a Characteristic Descriptor 11.

    4.2K20发布于 2020-08-31
  • 来自专栏陈冠男的游戏人生

    BLE中继攻击的探索

    最早了解 BLE 中继攻击是在 2022 年 3 月份,在网上搜了一堆关于 BLE 攻击方法的介绍,但当时并不知道无钥匙进入系统这么个东西,所以没感觉到中继攻击有什么大用途,当时接触的是些手环、灯泡这类的物联网设备 后来在 5 月份的时候 NCC 发布了 BLE 链路层中继解锁特斯拉的视频(https://youtu.be/5mdU4ksOc2w),发现原来 BLE 中继还挺有用的,就回头看了看之前搜集的资料,尝试搭建了 btlejuice 这个用来 BLE 中继攻击的工具(再吐槽一次 npm 安装东西太难了叭) 先把 btlejuice 以及 gattacker 这些中继攻击思路简单描述一下: 用两台带有蓝牙适配器的电脑 钥匙就无能为力了,与 NCC 发的视频实现的效果差距太大,便没有深入研究了 后来在网上冲浪的时候发现 NCC 在 hardware.io 分享了他们对 BLE 进行链路层中继的实现思路(https:/ 不会嵌入式开发,告辞 后来看到了小米的师傅们要在 KCon 分享他们实现的 BLE 链路层中继,斥巨资买了张门票(真就为了这个议题去的哈哈哈)然后心满意足的听了小米的师傅们对 BLE 攻击的分享(还说工具要在

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

    索尼相机BLE控制接口

    索尼相机现在支持基于蓝牙低功耗 (BLE) 的控制协议。该接口允许客户端控制以及从支持 BLE 的遥控器获取状态。 遙控器 对于启用了索尼 BLE 的相机,发现过程相当简单。 相机控制服务 该服务支持对 BLE 的各种相机控制。相信这个服务比 DIRC 有更多的功能,但它的使用目前受到客户的限制。一旦客户端开始使用此接口,您就可以确定我们会窥探该接口。 相机控制服务目前正被索尼应用程序用于 BLE 到 Wifi 切换。它的许多特征似乎是为了支持FTP 服务器,但这并没有得到证实。 命令 回应 如果存在协议错误,IRC 将返回 0x0185 GATT 状态。如果拍摄照片或开始录制等过程,将发送各种通知。 原生的遥控器260元,有了协议,几十块钱就可以做一个,而且功能可以做的更多。 至于实现,我应该是写过。大家感兴趣的去翻翻。

    1.1K20编辑于 2022-09-06
  • 来自专栏Vamei实验室

    协议森林11 涅槃 (TCP重新发送)

    TCP协议是一个可靠的协议。它通过重新发送(retransmission)来实现TCP片段传输的可靠性。简单的说,TCP会不断重复发送TCP片段,直到片段被正确接收。 我们已经接触过了IP协议详解的checksum算法。TCP片段的checksum算法与之类似。 IP协议的checksum只校验头部,TCP片段头部的checksum会校验包括IP头部、TCP头部和TCP数据在内的整个序列,确保IP地址、端口号和其他相关信息正确。 RTT: 往返时间 TCP协议通过统计RTT,来决定合理的RTO。 补上空洞 TCP协议规定,当接收方收到乱序片段的时候,需要重复发送ACK。比如接收到乱序片段9的时候,接收方需要回复ACK。回复号为8 (7+1)。

    1K60发布于 2018-01-18
  • 来自专栏物联网思考

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

    打开手机app,扫描周围的设备(从机),支持过滤功能 (2)设备信号强度(RSSI)查看 可以很清晰的观察rssi的变化: (3)连接设备 点击“CONNECT”按钮,即可连接目标设备,这里以“BLE-UART (5)特征读写 ble是通过特征传输数据的,特征又有不同的属性,ff05这个特征只支持写。 (6)修改MTU 通过Request MTU可以修改MTU,提高数据的传输量。 2、BLE调试助手 这个是南京沁恒开发的app,调试起来也比较方便,支持从机模式,用法和nRF Connect差不多。 (3)特征读写 (4)修改MTU 上面3个ble调试app,都可以使用,个人推荐nRF Connect和BLE调试助手。

    14K30发布于 2021-11-04
  • 来自专栏物联网思考

    ble 40个射频通道

    射频通道,编号0-39,每个2M,分为广播通道和数据通道,广播通道是37,38,39,其余都是数据通道。

    69820发布于 2021-10-09
  • 来自专栏非著名程序员

    Android BLE 基础框架全新改版

    Android BLE基础操作框架,基于回调,操作简单。包含扫描、多连接、广播包解析、服务读写及通知等功能。 项目地址:https://github.com/xiaoyaoyou1212/BLE 项目依赖:compile 'com.vise.xiaoyaoyou:baseble:2.0.0' 功能 支持多设备连接管理 该库是 BLE 操作的基础框架,只处理 BLE 设备通信逻辑,不包含具体的数据处理,如数据的分包与组包等。 更多关于广播包解析可以参考Android BLE学习笔记中数据解析部分。

    2.5K70发布于 2018-02-02
领券