蓝牙4.0BLE抓包(一) - 搭建EN-Dongle工作环境 使用EN-Dongle抓包 nRF51822
版权声明:本文为博主原创文章,转载请注明作者和出处。
蓝牙4.0 BLE的开发过程中,使用抓包器进行抓包分析无疑会极大地提高我们的开发效率,同时能帮我们快速的定位问题。对于初学者来说,抓包分析能让我们更快的理解蓝牙4.0 BLE的工作过程。
本文详细说明如何搭建EN-Dongle的抓包环境和如何使用EN-Dongle进行抓包。EN-Dongle抓包时会通过Sniffer软件调用强大的网络封包分析软件Wireshark捕获和分析BLE包。
1. 需要的工具
表一:硬件需求
|
序号 |
设备 |
数量数量 |
|
1 |
计算机 |
1台 |
|
2 |
EN-Dongle |
1个 |
|
3 |
J-LINK仿真器 |
1套 |
|
4 |
MINI USB数据线 |
1根 |
表二:软件需求
|
序号 |
名称 |
|
1 |
ble-sniffer_win_1.0.1 |
|
2 |
Wireshark-win32-1.12.8或 Wireshark-win64-1.12.8 |
2. 驱动及软件安装
使用EN-Dongle进行抓包和协议分析需要用到下面的1个驱动和两个软件。
- CP2102驱动。
- Wireshark。
- Sniffer(绿色软件,无需安装)。
2.1 安装CP2102驱动
解压“CP210x_VCP_Windows.zip”,解压后如下图,根据具体情况选择安装32位版本或64位版本驱动。
- Windows 32:安装“CP210xVCPInstaller_x86.exe”
- Windows 64:安装“CP210xVCPInstaller_x64.exe”

图1:Wireshark安装文件
2.2 安装Wireshark
根据具体情况选择安装32位版本或64位版本。
- Wireshark-win32-2.0.0。
- Wireshark-win64-2.0.0。
1) 双击Wireshark安装程序,弹出安装窗口,点击“Next”。

图2:安装Wireshark
2) 点击“I Agree”。

图3:安装Wireshark
3) 点击“Next”。

图4:安装Wireshark
4) 选择安装在默认路径后点击“Next”。

图5:安装Wireshark
5) 勾选“Install WinPcap 4.1.3”,点击“Next”。

图6:安装WinPcap
6) 点击“I Agree”。

图7:安装WinPcap
7) 点击“Finish”完成安装。

图8:完成安装
2.3 安装Sniffer
Sniffer是绿色软件,无需安装,解压后双击“ble-sniffer_win_1.0.1_1111_Sniffer.exe”即可运行。

图9:Sniffer软件
3. 使用EN-Dongle抓包
1) 将EN-Dongle连接到计算机的USB接口上,并让EN-Dongle处于Central和Peripherel的信号覆盖范围内,如下图所示。

图10:EN-Dongle抓包示意图
2) 双击“ble-sniffer_win_1.0.1_1111_Sniffer.exe”,启动Sniffer。Sniffer启动后会自动检查串口及周围的 BLE 器件,如下图所示。

图11:Sniffer软件界面
上图中信息栏显示了Sniffer读取的串口是:COM25。设备列表中显示Sniffer已经抓取到两个BLE设备,编号分别是“0”和“1”。
3) 输入编号,选择BLE 器件,如下图所示。

图12:输入编号选择Device
4) 输入“w”启动Wireshark,开始抓包。

图13:启动Wireshark
5) Wireshark启动后,我们就可以看到捕获的BLE包了,如下图所示。
Wireshark是一个很牛的网络封包分析软件,支持众多协议,做过网络通信相关开发的朋友对Wireshark都不会陌生,即使没用过也应该听说过。Wireshark可以帮助我们将一个个原始的BLE数据包按照BLE的协议进行解析,并以我们能看得懂的形式展现。

图14:Wireshark捕获的BLE包
选中一个BLE包(这里捕获的是广播包),展开树形目录,即可看到Wireshark对这个广播包的分析。

图15:Wireshark解析BLE包
到这里,捕获广播包已经OK了,用手机连接一下BLE设备,观察Wireshark捕获窗口,整个连接过程会立即呈现在我们的眼前!
蓝牙4.0BLE抓包(一) - 搭建EN-Dongle工作环境 使用EN-Dongle抓包 nRF51822的更多相关文章
- 蓝牙4.0BLE抓包(三) – 扫描请求和扫描响应
版权声明:本文为博主原创文章,转载请注明作者和出处. 作者:强光手电[艾克姆科技-无线事业部] 1. 扫描请求和扫描响应 广播包含扫描请求SCAN_REQ和扫描响应SCAN_RSP. 扫描请求: ...
- 蓝牙4.0BLE抓包(二) – 广播包解析
版权声明:本文为博主原创文章,转载请注明作者和出处. 作者:强光手电[艾克姆科技-无线事业部] 在使用EN-Dongle捕获和解析广播包之前,我们先了解一下BLE报文的结构,之后,再对捕获的广播 ...
- 【转】蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法--不错
原文网址:http://blog.csdn.net/mzy202/article/details/32408223 蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet ...
- 蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法
蓝牙4.0的开发, 现在真热火的很, 但是很多朋友买了我们出品的cc2540 usb-dongle后, 都反馈说不知道如何抓包, 并且, 即使很多朋友到TI官网论坛去找信息,不少朋友依然是无功而返,实 ...
- 蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法 【原创,多图】
蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法 [原创,多图] spm=a1z10.1.w4004-5319414070.11.Zd ...
- 蓝牙4.0BLE cc2540 cc2541 ios OAD课程(空中固件升级)[原版的,多图]
蓝牙4.0BLE cc2540 cc2541 ios OAD课程(件) 为阿莫单片机论坛 www.AmoMcu.com 原创.仅仅公布于csdn博客, 如需转载,请注明出处,谢谢! ...
- odoo开发环境搭建(三):安装odoo依赖的python包
odoo开发环境搭建(三):安装odoo依赖的python包 http://www.cnblogs.com/jlzhou/p/5940815.html
- 蓝牙4.0BLE 手机控制 cc2540 CC2541 的串口透传功能已实现
蓝牙4.0BLE 手机控制 cc2540 CC2541 的串口透传功能已实现 尽管蓝牙4.0 BLE芯片CC2540 是单芯片(即用户能够对它进行芯片级代码编写), 是80 ...
- 在VS中自动生成NuGet包以及搭建自己的或单位内部的NuGet服务器
关于NuGet的介绍已经很多,可以参考下面的: NuGet学习笔记(1)--初识NuGet及快速安装使用 http://kb.cnblogs.com/page/143190/ NuGet学习笔记(2) ...
- HBase、Hive、MapReduce、Hadoop、Spark 开发环境搭建后的一些步骤(export导出jar包方式 或 Ant 方式)
步骤一 若是,不会HBase开发环境搭建的博文们,见我下面的这篇博客. HBase 开发环境搭建(Eclipse\MyEclipse + Maven) 步骤一里的,需要补充的.如下: 在项目名,右键, ...
随机推荐
- nDPI深度数据包检测
nDPI https://github.com/ntop/nDPI
- ubuntu 卡在登陆界面无法进入桌面,但是可以进入命令行界面
ubuntu 卡在登陆界面无法进入桌面,但是可以进入命令行界面(初步断定是Xwindows界面软件出问题了,所以重装即可!)Solve: 1.Ctrl+Alt+F1进入命令行界面,root账户登陆2. ...
- Android布局属性说明
Android布局LinearLayout注意设置属性android:orientation属性,否则有的组件可能无法显示. 该属性不设置时默认为horizontal.此时第一个控件的宽度若设置成“f ...
- 小程序报错Do not have xx handler in current page的解决方法
看到小程序这一大串的“Do not have bindName handler in current page: pages/card/card. Please make sure that bind ...
- Djanjo 的app 模板路径 静态文件 完整版登录 新手三件套 以及orm
一: django中app的概念: 一个项目可以包含多个应用(app,类似于模块,主页打开多个模块就是多个app) 创建了app,要在配置文件中注册 二:模板路径配置: 1 templates文件夹 ...
- Linux设备驱动模型底层架构及组织方式
1.什么是设备驱动模型? 设备驱动模型,说实话这个概念真的不好解释,他是一个比较抽象的概念,我在网上也是没有找到关于设备驱动模型的一个定义,那么今天就我所学.所了解 到的,我对设备驱动模型的一个理解: ...
- swift - 动画学习
// // ViewController.swift // MapAnimation // // Created by su on 15/12/10. // Copyright © 2015年 ...
- MYSQL - JSON串中查找key对应的值
1.建表 -- 建表 drop table if exists ta_product2; CREATE TABLE ta_product2( id int primary key auto_incre ...
- DELPHI如何获取某目录下的所有文件名?
//=====================================================================// 函数名称: FindPathFiles// 功能描述 ...
- 基于微软XAML技术的前端开发方法
使用XAML技术的平台目前包括WPF,Silverlight,Windows8等平台,未来的Windows10统一Windows App也使用XAML技术. 前端开发指通过可视化集成开发环境进行用户界 ...