自制NRF52832 USB Dangle蓝牙抓包器

  • 硬件
  1. 主芯片NRF52832
  2. USB转串口芯片选高速稳定的CP2102, 因sniffer串口通信速率为460800,1000000
  3. 硬件连接:UART_TX->P0.06, UART_RX->P0.08, CTS->P0.05, RTS->P0.07.
  4. 原理图:

  • 搭建环境
  1. 下载软件

需要下载软件包:nrf_sniffer_2.0.0-beta-3_12oct2018_1c2a221

Wireshark v2.4.6 or later.

python v2.7.x

2.文件介绍

nrfsniffer200beta312oct20181c2a221.zip解压后如下图所示:

Extcap  Profile_nRF_Sniffer_v2_001 为wireshark组件, hex为sniffer固件,需要烧录到板子上。

3.软件安装与配置

注意安装步骤不要变,否则可能安装失败

(1)安装wireshark:

双击Wireshark-win64-3.0.1.exe进行安装,一路next,选中下图桌面创建快捷方式:

如下图,选中USBPcap(可能是1.5.0.0)并进行安装:

剩下就是一路允许和接受,直到安装完毕,然后重启计算机。

(2)配置wireshark环境:

打开wireshark->帮助->关于wireshark->文件夹->双击打开Extcap路径,如下所示:

双击Global Extcap path,解压nrfsniffer200beta312oct20181c2a221.zip文件,将里面的extcap文件夹里的四个文件复制到刚刚打开的这个wireshark的extcap路径下,如图所示为复制完毕的效果图:

然后双击wireshark里的个人配置的网址,在弹出的文件夹下打开profiles文件夹,然后将解压的nrfsniffer200beta312oct20181c2a221.zip文件中的Profile_nRF_Sniffer_v2_001文件夹拷贝到profiles文件夹中,如下图为拷贝完毕的效果图:

(3)安装python:

双击python-2.7.16.amd64.msi进行安装,一路next,直到如下界面:

此处需要选择该项,即添加环境变量,然后一路next即可,直到安装完毕.

(4)安装pyserial v3.4:

按下键盘的Windows键和R键调出运行,然后输入cmd后回车,则进入命令行界面(注意以管理员身份运行cmd),cmd窗口输入“pip --version”命令,查询python的pip版本,如下所示,则代表已经正常启动pip且版本号为18.1:

输入”python –m pip install –upgrade pip”命令,更新一下pip,如下所示则更新成功

Pip 版本号可能更高。

输入“cd C:\Program Files\Wireshark\extcap”命令,将cmd操作界面定位到“C:\Program Files\Wireshark\extcap”目录下,注意,这时wireshark安装目录的extcap目录,也就是刚刚我们往这里拷贝四个文件的地方,wireshark安装目录不同,此路径可能不同,请自行调整,如果切换不顺利,也可直接通过在C:\Program Files\Wireshark\extcap文件夹下按住shift按键的同时,鼠标右单机空白处,在弹出的菜单中选择“在此处打开命令窗口”来进行切换。切换目录后,输入“pip install -r requirements.txt”命令,则会自动启动pyserial v3.4的安装,也可能是更高的版本.

(5)安装jlink.exe

在nrfsniffer200beta312oct20181c2a221.zip解压缩后的文件夹内有个JLink_Windows_V630b.exe,双击JLink_Windows_V630b.exe进行安装,一路next即可安装完毕

(6)安装nrfgostudio

用来烧录程序用,双击nrfgostudio_win-64_1.21.2_installer.msi 安装

如果上述步骤都正确完成,电脑端的开发环境基本就搭建完毕了

4.烧录hex文件到NRF52832板子

我们以nrfgo studio为例进行说明:

如图所示,识别的开发板后,先erase all, 然后选择program application选项卡,然后选择对应的hex文件,然后点击program进行下载即可,比较简单

注意不同芯片对应不同hex。

NRF52832选sniffer_pca10040_1c2a221.hex

5.验证sniffer是否安装成功

上述准备完毕,再打开wireshark,则会出现nRF Sniffer字样的东西,如下图所示,则说明安装成功了,后面就可以使用此环境进行抓包了。如果未能安装成功,请仔细核对以上所有步骤是否有未操作正确的

在diy过程中出现在问题:

最开始是从淘宝上买了个NRF52832的USB Dangle,用来抓蓝牙广播包及数据包。厂家说支持二次开发,于是找厂家要了软件包,想着在板子刷了其它程序后,可以刷回来,继续当抓包器用。最开始的时候,电脑为WIN10 64位系统,环境的搭建也是按照厂家提供的手册来,已成功抓包。后来想着刷个别的程序,然后刷回来,看还能不能当抓包器用,结果发现在wireshark可以识别到抓包器,为这个界面:

心想着,以前每次都进到这个界面,能识别到抓包器,抓包都没问题,这次肯定能行,就没有继续进行抓包测试,其实此时虽然能识别,却并不能抓包了,我却混然不知。由于工作电脑C盘太小,电脑运行越来越卡,所以决定重装系统,资料备份,全盘格式化,硬盘重新分区。此时悲剧开始了。重装系统为WIN10 64位纯净版,还是按照手册配置环境,可以识别,准备抓包,结果LOG一直报错RROR: packet creation error。问客服,得到的答复是我的环境没搭好,他们用的固件也是官网下的。于是不断重新搭建环境,Python从2.7到3.7,wireshark从3.2.2到3.4.0,在虚拟机中装其它WIN10 64位系统,家里笔记本WIN7系统,从官网下载固件2.0到3.0。各种尝试,全部失败,永远是错误RROR: packet creation error。后面没有办法,不再折腾环境,查看C:\Program Files\Wireshark\extcap下面的python源码,发现wireshark能发现板子串口,通信波特率也对,数据的起始码及停止码都对,但是数据包的第3个协议版本号不对,正常应该是1或2,实际却根本不是。难怪一直报错(具体原因待分析)。于是怀疑是板子固件的问题。再次网上查找原因,发现别人用nrf_sniffer_2.0.0-beta-3_12oct2018_1c2a221这个版本的固件可以成功,于是从CSDN上下载到压缩包,按照他人的流程,再次搭建环境,重新烧录固件,结果成功识别,抓包成功了。

NRF52832-USB-Dangle-DIY笔记相关推荐

  1. 自制NRF52832 USB Dangle蓝牙抓包器

    自制NRF52832 USB Dangle蓝牙抓包器 硬件 主芯片NRF52832 USB转串口芯片选高速稳定的CP2102, 因sniffer串口通信速率为460800,1000000 硬件连接:U ...

  2. 《无线电与电视》杂志创刊50周年纪念版耳机放大器 DIY笔记

    目录 <无线电与电视>杂志创刊50周年纪念版耳机放大器 DIY笔记 起因 套件以及零件的替换 安装 调试(测量) 试听及注意事项 总结 参考资料 <无线电与电视>杂志创刊50周 ...

  3. stlinkv2红灯闪烁_ST-LINK V2 DIY笔记(一)

    最近一段时间调试STM32板子的时候,都是用JLINK+杜邦线,或者拿官方板子当STLINK用,可以用,但是体积比较大,有时候觉得比较麻烦.正好前一阵手头项目少,就想DIY一个STLINK. 图是网上 ...

  4. pl2303hx 原理图_USB转TTL USB转串口 DIY制作(原理图+PCB+BOM+PL2303驱动)

    概述: 本PL2303HX芯片,28脚贴片SOIC封装,工作频率为12MHZ,符合USB 2.0通信协议,可以直接将USB信号转换成串口信号,波特率从75-1228800,有22种波特率可以选择,并支 ...

  5. USB OTG学习笔记

    http://blog.21ic.com/user1/1113/archives/2010/67075.html 推荐 仅仅看了半天SPEC写的笔记,有些乱,等调试完毕再次整理,思路不是很成熟,推测成 ...

  6. USB应用开发笔记之一:STM32上实现USB主机读写U盘

      在项目应用中,经常会有对外交换数据的需求.USB接口读写U盘无疑是一种颇为方便的选择.在这一篇中,我们就来讨论如何在STM32上实现USB主机读写U盘文件的方法. 1.应用概述   在我们的产品上 ...

  7. USB协议学习笔记 - 虚拟串口Virtual Port Com LED控制

    前言 STM32 的USB 可以虚拟成一个串口,功能还挺强,感觉比HID好用 这里使用USB 虚拟的串口,做个控制LED的小程序 控制LED这里使用自定义的AT命令方式,如红灯亮:AT+LEDR_ON ...

  8. USB协议学习笔记 - CUSTOM HID控制LED

    简介 前面了解了 STM32 CUSTOM HID 设备,但是有几个细节没有处理好,如接收到主机的报告后,如何接收到指定的数组,并实现通信功能,如控制LED亮灭? 还有就是CUSTOM HID设备的[ ...

  9. USB UVC实战笔记第1篇—UVC设备枚举过程详细分析

    1 UVC枚举过程分析 UVC,全称为:USB video class 或USB video device class.是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标 ...

  10. USB协议学习笔记 - CUSTOM HID 设备

    简介 这里使用STM32平台进行USB 协议的学习与USB 设备的调试开发 USB HID设备,协议较固定,无法实现数据的自由接收与发送 USB CUSTOM HID设备(自定义HID协议)可以实现简 ...

最新文章

  1. pybombs 安装
  2. Win7删除不了打印机怎么办
  3. QBlog V2.5 源码开放下载(ASP.NET 番外系列之开端)
  4. python HTTP请求过程
  5. 框架基础---动态代理
  6. 自监督学习(self-supervised learning)(20201124)
  7. Win10扬声器未插入怎么解决?
  8. 昆虫繁殖科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强。 每对成虫过x个月产y对卵,每对卵要过两个月长成成虫。 假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(
  9. 牛气!青云QingCloud 进入“混合云市场竞争力领导者象限”
  10. eclipse的安装及最大子数组求和
  11. 清华同方的计算机硬件设置,清华同方台式计算机如何设置BIOS引导U盘教程
  12. 什么是CISP-PTS?考什么?
  13. Keil 出现报错:undefined symbol
  14. 盛大九年征程 盛大的娱乐帝国 盛大维稳
  15. Python之写一个函数用于字符串替换
  16. 预装Win 8.1 Pro环境下安装Win 7双系统
  17. .NET Core 用 Blazor 做 jmeter 系列视频
  18. puzzle(1211)消除:2048最大分数
  19. python 网络连接_python切换网络连接
  20. 牛市里的K线底部形态都有哪些特征

热门文章

  1. Chair:支付宝前端团队推出的Node.js Web框架
  2. 组织分解结构(Organizational Breakdown Structure OBS)
  3. JavaC++题解与拓展——leetcode953.验证外星语【么的新知识】
  4. 理论+实验:LAMP网站服务器部署(超详细版本)
  5. 2022年全球市场电镀金刚石线总体规模、主要生产商、主要地区、产品和应用细分研究报告
  6. chrome-功能指令
  7. 用户输入月份,判断这个月是哪个季节
  8. 极米H5搭载全新CCB流明,树电影色彩亮度新标杆
  9. NOIP / CSP-S/J初赛基础知识1
  10. 新浪微博SSO登陆机制