蓝牙协议分析(6)_BLE地址类型】的更多相关文章

1. 前言 也许关注BLE的同学都注意到了,BLE设备有多种类型的设备地址,如Public Device Address.Random Device Address.Static Device Address.Private Device Address等等.如果不了解内情,大家肯定会被它们绕晕.不过存在即合理,这样看似奇怪的设计,实际上反映了BLE的设计思路以及所针对的应用场景.让我们通过本文一窥究竟. 2. BLE设备的地址类型 一个BLE设备,可以使用两种类型的地址(一个BLE设备可同时具…
1. 前言 在上一篇文章[1]中,我们介绍了BLE的白名单机制,这是一种通过地址进行简单的访问控制的安全机制.同时我们也提到了,这种安全机制只防君子,不防小人,试想这样一种场景: A设备表示只信任B.C.D设备,因此就把它们的地址加入到了自己的白名单中,表示只愿意和它们沟通.与此同时,E设备对它们的沟通非常感兴趣,但A对自己不信任啊,肿么办? E眼珠子一转,想出一个坏主意:把自己的地址伪装成成B.C.D中任意一个(这个还是很容易办到的,随便扫描一下就得它们的地址了)就行了,嘿嘿嘿! 那么问题来了…
1. 前言 在万物联网的时代,安全问题将会受到非常严峻的挑战(相应地,也会获得最大的关注度),因为我们身边的每一个IOT设备,都是一个处于封印状态的天眼,随时都有被开启的危险.想想下面的场景吧: 凌晨2点,x米手环的闹钟意外启动,将你从睡梦中惊醒,然后床头的灯光忽明忽暗…… 你的心率.血压.睡眠质量等信息,默默地被竞争对手收集着,并通过大数据分析你的情绪.健康等,随时准备给你致命一击…… 我知道你家里有几盏灯.几台电器.几个人,知道你几点睡觉几时醒来,知道你一周做过几顿饭,甚至知道你有一个xx棒…
转自:http://www.wowotech.net/bluetooth/ble_connection.html#comments 1. 前言 了解蓝牙的人都知道,在经典蓝牙中,保持连接(Connection)是一个相当消耗资源(power和带宽)的过程.特别是当没有数据传输的时候,所消耗的资源完全被浪费了.因而,对很多蓝牙设备来说(特别是功耗敏感的设备),希望在无数可传的时候,能够断开连接.但是,由于跳频(hopping)以及物理通道(Physical Channel)划分的缘故,经典蓝牙连接…
1. 前言 注1:此SM是Security Manager的缩写,非彼SM,大家不要理解歪了! 书接上文,我们在“蓝牙协议分析(10)_BLE安全机制之LE Encryption”中介绍了BLE安全机制中的终极武器----数据加密.不过使用这把武器有个前提,那就是双方要共同拥有一个加密key(LTK,Long Term Key).这个key至关重要,怎么生成.怎么由通信的双方共享,关系到加密的成败.因此蓝牙协议定义了一系列的复杂机制,用于处理和加密key有关的操作,这就是SM(Security…
1. 前言 前面文章介绍了两种BLE的安全机制:白名单[4]和LL privacy[3].说实话,在这危机四伏的年代,这两种“捂着脸讲话(其它人不知道是谁在讲话,因而不能插话.不能假传圣旨,但讲话的内容却听得一清二楚)”的方法,实在是小儿科.对于物联网的应用场景来说,要做到安全,就必须对传输的数据进行加密,这就是LE Encryption要完成的事情(当然,只针对面向连接的数据),具体请参考本文的介绍. 2. 基本概念 从字面理解,Encryption是一个名词,意思是“加密术”,因此LE En…
1. 前言 大家都知道,相比传统蓝牙,蓝牙低功耗(BLE)最大的突破就是加大了对广播通信(Advertising)的支持和利用.关于广播通信,通过“玩转BLE(1)_Eddystone beacon”和“玩转BLE(2)_使用bluepy扫描BLE的广播数据”两篇文章的介绍,我们已经有了一个整体的认识.本文将依此为基础,从技术的角度,分析和理解BLE协议中有关广播通信的定义和实现. 注1:之前的蓝牙协议分析文章(如“蓝牙协议分析(3)_蓝牙低功耗(BLE)协议栈介绍”),偏向于从横向.从大而全的…
1. 前言 通过“蓝牙协议分析(2)_协议架构”的介绍,大家对蓝牙协议栈应该有了简单的了解,但是,肯定还有“似懂非懂.欲说还休”的感觉.有这种感觉太正常了,毕竟蓝牙协议是一个历史悠久又比较庞大的协议,没那么容易理解. 因此,本文将换个视角,从协议栈设计者的角度,思考如下问题: 为什么会有蓝牙协议栈(Why)? 怎样实现蓝牙协议栈(How)? 蓝牙协议栈的最终样子是什么(What)? 另外,我们知道,当前的蓝牙协议包含BR/EDR.AMP.LE三种技术,为了降低复杂度,本文将focus在现在比较热…
1. 前言 蓝牙是个奇葩的家伙:它总是以后来者的身份出现,很喜欢打仗,而且还不落下风(有点像某讯的风格).90年代末期和Wi-Fi的无线标准之争如此,当前和802.15.4系(ZigBee.RF4CE.Thread等)的IoT之争,也如此. 90年代末期,蓝牙刚出道的时候,就曾叫嚣着把Wi-Fi(802.11)从地球上抹去.反过来,1999年Wi-Fi 802.11b标准发布后,也宣称会把蓝牙干掉.最终,二者划江而治,瓜分了天下,Wi-Fi占据了家庭和办公室中的电脑网络,而蓝牙成为了广受欢迎的电…
在蓝牙协议栈的物理层,有这样两个比较有用的参数:LQI和RSSI.它们都是通过接收端,判断当前无线环境的质量(链路质量),以指导后续的动作.但这两个数值的计算原理和使用场景又有很大的差别. LQI (Link Quality Indication),是当前接收到的信号的质量的一种度量.所谓的接收到信号的质量,是接收器通过接收到的信号和理想信号之间的错误累积值估算的.例如,如果使用FSK或者GFSK调制方式,接收器可以将每个bit的频率和期望的频率比较,累积一定数量的symbols(例如64个),…
一.地址类型 二.白名单和Resolving List 三.LL层设备过滤 一.地址类型 学习资料:官方手册 Vol 6: Core System Package [Low Energy Controller volume] Part B: Link Layer Specification 1.3 Device Address 这篇文章总结得比较好: 蓝牙协议分析(6)_BLE地址类型 http://www.wowotech.net/bluetooth/ble_address_type.html…
蓝牙接收苹果手机通知 ANCS协议分析 转载,请注明出处:http://www.cnblogs.com/alexcai/p/4321514.html 综述 现在有许多蓝牙手表.手环都能接收苹果iphone手机的系统通知,那这是怎么实现的呢? 其实,这都有赖于苹果IOS 7开始提供的ANCS协议,ANCS(苹果通知中心, Apple Notification Center Service)的目的是提供给蓝牙外设一种简单.方便的获取ios设备通知信息的方式.使得蓝牙手环.手表可以收到苹果手机的来电.…
本篇博客根据韦东山的视频,整理所得. 本篇博客讲解BTStack的框架,首先来看一下硬件的结构: 蓝牙模块接在电脑上,或是接在开发板上.不论接在哪,我们都需要编写程序来控制这个蓝牙模块. . 我们需要发送数据给蓝牙模块 需要发送命令给蓝牙模块,比如让它发出无线信号去扫描.识别.连接.读写附近的蓝牙设备 2. 需要从蓝牙模块获得数据 3. 需要处理获得的数据 上述3步骤可以简化为一个循环: 1.读取数据:可以读取用户输入的指示,也可以读取蓝牙模块的数据 2.处理数据:根据用户的指示发送数据给蓝牙模…
最近闲来有事, 分析了一个非常低端(非常低端的意思是说你不应该对她是否能取代你现有的QQ客户端作任何可能的奢望,她只是一个实验性的东西)的手机QQ的协议, 是手机QQ3.0,      所用到的TCP/HTTP通信协议版本是1.4, 也不知道是哪一年release的了, 至少有七八年的历久了吧, 反正就是: 功能非常弱! 主要的分析原因是想学学网络方面的编程经验(这是我第2次弄socket编程 :-) ), 以及学学怎么抓包分析. 主要用到的工具软件 手机QQ3.0: http://www.ru…
简述 BT下载是采用P2P的下载方式,下载的大致形式采用如下图所示,处于图示中心的称为Tracker服务器,其余称为Peer.   缺点 1.资源的安全性 2.资源的实效性(没有上传者则BT也将失效) 3.版权 协议分析 对BT协议(1.0)的分析主要包含4个部分: 1.种子文件的分析 2.同Tracker服务器的通讯(采用HTTP协议) 3.同其他peer(配合/协同者)的通讯(采用TCP协议) 4.总结 分析前的了解 在这些分析之前,需要先了解两点BT协议采用的基础: 1.BT协议中采用的单…
http://rabbit.xttc.edu.cn/rabbit/htm/artical/201091145609.shtml  http://bhsc881114.github.io/2015/06/23/HTTP%E8%AF%B7%E6%B1%82%E7%9A%84TCP%E7%93%B6%E9%A2%88%E5%88%86%E6%9E%90/ TCP选项详解:http://blog.csdn.net/sunshine_okey/article/details/7613286  互连网早期的…
Memcache的使用和协议分析详解 作者:heiyeluren博客:http://blog.csdn.NET/heiyeshuwu时间:2006-11-12关键字:PHP Memcache Linux 缓存 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力.(关于Memcache的更多信息请Google)Memcache官方网站:http://www.danga.com/memc…
此篇文章的原创作者是:草根老师博客(程姚根) chengyaogen.blog.chinaunix.net 感谢原作者! 互连网早期的时候,主机间的互连使用的是NCP协议.这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能.为了改善这种缺点,大牛弄出了TCP/IP协议.现在几乎所有的操作系统都实现了TCP/IP协议栈.   TCP/IP协议栈主要分为四层:应用层.传输层.网络层.数据链路层,每层都有相应的协议,如下图 所谓的协议就是双方进行数据传输的一种格式.整…
RTP协议分析 第1章.     RTP概述 1.1.  RTP是什么 RTP全名是Real-time Transport Protocol(实时传输协议).它是IETF提出的一个标准,对应的RFC文档为RFC3550(RFC1889为其过期版本).RFC3550不仅定义了RTP,而且定义了配套的相关协议RTCP(Real-time Transport Control Protocol,即实时传输控制协议).RTP用来为IP网上的语音.图像.传真等多种需要实时传输的多媒体数据提供端到端的实时传输…
https://blog.helong.info/blog/2015/09/06/tls-protocol-analysis-and-crypto-protocol-design/?from=timeline&isappinstalled=0 最近发现密码学很有意思,刚好还和工作有点关系,就研究了一下,本文是其中一部分笔记和一些思考. 密码学理论艰深,概念繁多,本人知识水平有限,错误难免,如果您发现错误,请务必指出,非常感谢! 本文禁止转载 本文目标: 学习鉴赏TLS协议的设计,透彻理解原理和重…
本章节主要介绍linxu网络模型.以及常用的网络协议分析以太网协议.IP协议.TCP协议.UDP协议 一.网络模型 TCP/IP分层模型的四个协议层分别完成以下的功能: 第一层 网络接口层 网络接口层包括用于协作IP数据在已有网络介质上传输的协议.实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能.相反,它定义像 地址解析协议(Address Resolution Protocol,ARP)这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口. 第二层 网间层 网…
TFTP网络协议分析 周学伟 文档说明:所有函数都依托与两个出口,发送和接收. 1:作为发送时,要完成基于TFTP协议下的文件传输,但前提是知道木的PC机的MAC地址,因为当发送TFTP请求包时必须提供目的主机的MAC地址.则提供串口srcureCRT控制台,首先进行ARP请求包的发送,收到来自客户端的ARP应答包时,提取出目的主机的MAC地址,然后在发送TFTP请求包,等到目的主机返回数据报文后,文件传输即可开始,此过程,可用wireshark抓包工具进行检测. 2:作为接收时,可在DM900…
/* usb协议分析仅供大家参考---设备描述符配置包,设备描述符, 地址设置, 配置描述符, 字符串描述符 */ /* -1- usb设备描述符配置包 */ typedef struct _USB_SETUP_PACKET { REQUEST_TYPE bmRequestType; BYTE bRequest; WORD_BYTE wValue; WORD_BYTE wIndex; WORD wLength; } USB_SETUP_PACKET; .bmRequestType 是包含有下面几…
  目录(?)[-] 第1章     RTP概述 RTP是什么 RTP的应用环境 相关概念 流媒体 第2章     RTP详解 RTP的协议层次 传输层的子层 应用层的一部分 RTP的封装 RTCP的封装 RTP的会话过程 第3章     相关的协议 实时流协议RTSP 资源预定协议RSVP 第4章     常见的疑问 怎样重组乱序的数据包 怎样获得数据包的时序 声音和图像怎么同步 接收缓冲和播放缓冲的作用 第5章     实现方案 第6章     参考资料   RTP协议分析 第1章.    …
MySQL协议分析 标签: mysql 2015-02-27 10:22 1807人阅读 评论(1) 收藏 举报  分类: 数据库(19)    目录(?)[+]   1 交互过程 MySQL客户端与服务器的交互主要分为两个阶段:握手认证阶段和命令执行阶段. 1.1 握手认证阶段 握手认证阶段为客户端与服务器建立连接后进行,交互过程如下: 服务器 -> 客户端:握手初始化消息 客户端 -> 服务器:登陆认证消息 服务器 -> 客户端:认证结果消息 1.2 命令执行阶段 客户端认证成功后,…
在<物联网核心协议—消息推送技术演进>一文中已向读者介绍了多种消息推送技术的情况,包括HTTP单向通信.Ajax轮询.Websocket.MQTT.CoAP等,其中MQTT协议为IBM制定并力推,其具有开放.简单.轻量级以及易于实现的特点使得其即便在资源受限的环境中也能得到很好的使用,比如运行在资源紧缺型的嵌入式系统中或网络带宽非常昂贵的环境中,除此之外,它也被广泛用于遥感勘测.智能家居.能源监测和医疗应用程序等各个领域,是物联网的重要组成部分,将来可能会成为物联网的事实标准. 本篇文章将帮助…
Protocol buffer是Google出品的一种轻便高效的结构化数据存储格式,可对结构化数据进行序列化,并具有语言无关.平台无关等特点,在通信协议和数据存储等领域已经得到广泛的应用.目前其已经提供 C/C++.Java.Python 等语言的 API. 一.Protocol buffer和XML 在数据通信传输时,一般需要将结构化的数据序列化成流进行传送,接收方再反序列化为原始格式数据进行处理.在Web通信领域,XML应用算是最通用的了.在时间性能上,虽然XML的序列化开销还可以,但是反序…
[创建时间:2015-08-27 22:15:17] NetAnalyzer下载地址 上篇我们回顾完了NetAnalyzer一些可有可无的历史,在本篇,我决定先不对NetAnalyzer做介绍,而是先要了解一些关于构建NetAnalyzer的基础知识,如系统中可以分析的一些网络协议,了解它们的分布方式,字段含义等.在了解了协议的基础上,以后学习配置Winpcap的开发环境,做一些简单的数据采集程序就会更加方便.接下来则要介绍一下在开发NetAnalzyer过程中涉及到的一些数据结构与编程思想.…
源:蓝牙协议 基于TI cc2540 模块的理解 Bluetooth 4.0开发 Platform:TI IC:cc2540 Environment:windows 7 tools:IAR 8.20.2 demo Code:BLE_CC254x_1.4.0 from TI 物理层:是1Mbps自适应跳频GFSK射频,工作于免许可证的2.4GHz ISM(工业.科学与医疗)频段. 链路层:用于控制设备的辐射状态,设备将处于五种状态之一:等待.广告.扫描.初始化.连接.广播设备不需要建立连接 就可以…
一.域名概述 1.域名解析的作用: 主机数量增多时,IP地址不容易记忆,域名方便记忆.域名记忆更加直观. 2.hosts文件 早期通过hosts文件进行域名的解析,Linux系统中hosts文件存放路径为/etc/hosts,Windows系统中存放路径为C:\Windows\System32\drivers\etc\hosts内. 但后来随着Internet网上的网站发展迅速,一个小小的hosts文件以不足以存放,再加上主机名称数量庞大.主机维护困难等问题,出现了DNS域名解析服务 3.DNS…