第04节-BLE协议抓包演示
在上几篇博客中,形象的讲解了BLE各个层的作用,各个层的数据结构。本篇博客将研究BLE协议抓包。
在实际开发中,有一个中央设备(central)和一个外设(Peripheral)。所谓中央设备就是指它可以识别出周边的蓝牙设备,可以发起连接。所谓外设就是手环等。中央设备和外设之间传递数据,我们使用一个抓包工具sniffer,来抓取空中传递的数据,进而分析和调试。
在实际开发中,抓包涉及的硬件框图如下:
但是在学习的过程中,使用下面的结构。
使用手机来模拟外设,在安卓手机上可以运行一个软件:com-ble-peripheral-sim.apk,使用该软件可以非常方便的创建各种蓝牙外设,创建各种服务。在实际开发中,可能使用一个手机当做中央设备。在学习中,使用一个usb蓝牙模块,将该蓝牙模块接到pc机上,使用pc机上的软件可以通过这个usb蓝牙模块去发现各种外设,连接各种外设,去修改、读写外设的值。无论是实际开发还是学习,都需要一个sniffer。
总结:
1. 使用手机来模拟蓝牙外设(Peripheral),可以很方便地新建外设的服务。
2. 使用USB蓝牙模块(CSR8510A10)作用蓝牙中央设备(Central),在PC上运行Bluetooth LE Explorer,可以很方便地去连接、设置蓝牙外设。
3. 使用Sniffer来抓包,它是一个硬件。
抓包过程涉及三个软件:
a. Windows PC:Bluetooth LE Exploer
用于控制蓝牙中央设备,发起连接外设、操作外设。
从Microsoft Store安装即可。
b. Windows PC:Wireshark
抓包软件,通过Sniffer硬件来抓包。
安装、使用方法参考文档《BLE_sniffer抓包工具使用手册》
c. Android手机:com-ble-peripheral-sim.apk
BLE外设模拟软件,可以很方便地新建BLE服务。
首先运行sniffer对应的抓包软件,即wireshark。
运行usb蓝牙模块对应的软件Bluetooth LE Exploer
第04节-BLE协议抓包演示的更多相关文章
- 第12节-BLE协议HCI层的数据格式
学习资料: 1. 蓝牙协议core_v5.0.pdf <Vol 2: Core System Package [BR/EDR Controller volume]>的“Part E: Ho ...
- 第13节-BLE协议L2CAP层
学习资料:官方手册 Vol 3: Core System Package [Host volume] Part A: Logical Link Control and Adaptation Proto ...
- 第03节-BLE协议各层数据格式概述
本篇博客根据韦大仙的视频,整理所得. 对于BLE系统,它分为上下两块.上面那一块,我们称为host主机.下面这一块是controller,你可以简单的认为它就是一个蓝牙芯片. 对于host这一块,它运 ...
- 初识Http协议抓包工具—Fiddler
1.Fiddler简介 Fiddler是用一款使用C#编写的http协议调试代理工具.它支持众多的http调试任务,能够记录并检查所有你的电脑和互联网之间的http通讯,可以设置断点,查看所有的“进出 ...
- 网络协议抓包分析——TCP传输控制协议(连接建立、释放)
前言 TCP协议为数据提供可靠的端到端的传输,处理数据的顺序和错误恢复,保证数据能够到达其应到达的地方.TCP协议是面向连接的,在两台主机使用TCP协议进行通信之前,会先建立一个TCP连接(三次握手) ...
- 网络协议抓包分析——IP互联网协议
前言 IP协议是位于OSI模型的第三层协议,其主要目的就是使得网络间可以相互通信.在这一层上运行的协议不止IP协议,但是使用最为广泛的就是互联网协议. 什么是IP数据报 TCP/IP协议定义了一个在因 ...
- 网络协议抓包分析——ARP地址解析协议
前言 计算机之间可以相互通信的前提是要知道对方的地址,才可以发送信息给其他计算机,就像别人要联系你也得先知道你的电话号码一样.这里的地址因为网络分层的原因就包括IP地址和MAC地址(即网卡地址.硬件地 ...
- Fiddler系列教程1:初识Http协议抓包工具
1. Fiddler简介 Fiddler是用一款使用C#编写的http协议调试代理工具.它支持众多的http调试任务,能够记录并检查所有你的电脑和互联网之间的http通讯,可以设置断点,查看所有的“进 ...
- 安全测试6_Web安全工具第二节(代理抓包分析工具)
上节课讲了浏览器及扩展,这节课继续来学习下抓包分析. 首先看下下图,了解下代理工具的原理:代理就相当于收费站一样,任何要通过的车辆必须经过它. 浏览器的代理我们可以通过设置进行手动设置代理,或者通过P ...
随机推荐
- 第09组 Beta冲刺(2/5)
队名:观光队 链接 组长博客 作业博客 组员实践情况 王耀鑫 过去两天完成了哪些任务 文字/口头描述 学习 展示GitHub当日代码/文档签入记录 接下来的计划 完成短租车,页面美化 还剩下哪些任务 ...
- oracle--介质恢复和实例恢复的基本概念
1.概念 REDO LOG是Oracle为确保已经提交的事务不会丢失而建立的一个机制.实际上REDO LOG的存在是为两种场景准备的,一种我们称之为实例恢复(INSTANCE RECOVERY),一种 ...
- pgsql_pg的数据类型
PostgreSQL 提供了丰富的数据类型.用户可以使用 CREATE TYPE 命令在数据库中创建新的数据类型.PostgreSQL 的数据类型被分为四种,分别是基本数据类型.复合数据类型.域和伪类 ...
- java基础-温故而知新
1.类和对象(实例)的关系 类就是对象的抽象(模板),对象就是类的实例 2.java设置模式--代理模式 定义:代理就是中介,例如租房子经常有中介,还有出票软件 飞猪,携程. 3.代理大纲分为两种:静 ...
- golang strings常用函数
package main import ( "fmt" "strings" ) func main() { s1 := " aBc" s2 ...
- dataframe 基本操作
package com.jason.example import org.apache.spark.sql.functions.broadcast class DFTest extends Spark ...
- Python处理数据集-1
原数据集的数据格式: 每行为:(test_User, test_Item) negativeItem1 negativeItem2 negativeItem3 …… negativeItem99 即每 ...
- Linux下Maven私服Nexus3.x环境构建操作记录
原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79553747 私服介绍 私服是指私有服务器,是架设在局域网的一种特殊的远程仓库, ...
- mysql操作(精简版)
一.数据库操作(建库.删库) 1.查看数据库:show databases; 2.创建数据库:DROP DATABASE 数据库名; 3.删除数据库:CREATE DATABASE 数据库名; 4.使 ...
- github 白嫖记(一)
位运算 按位操作符:0或者1之间的运算 a|b 或 任意一个为1结果为1 console.log(0 | 1) //1 console.log(1 | 0) //1 console.log(1 | 1 ...