自制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

  1. 文件介绍

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

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

  1. 软件安装与配置

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

  1. 安装wireshark:

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

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

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

  1. 配置wireshark环境:

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

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

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

  1. 安装python:

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

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

  1. 安装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的安装,也可能是更高的版本.

  1. 安装jlink.exe

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

  1. 安装nrfgostudio

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

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

  1. 烧录hex文件到NRF52832板子

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

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

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

NRF52832选sniffer_pca10040_1c2a221.hex

  1.  验证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蓝牙抓包器相关推荐

  1. dongle 工具 蓝牙_CC2540 USB Dongle 蓝牙抓包分析仪使用教程

    原标题:CC2540 USB Dongle 蓝牙抓包分析仪使用教程 Dongle经常被认为是硬件保护,它是一个可被附加在计算机并口.串口或USB上的小插件,它包含厂家烧制的EPROM和定制的专用集成电 ...

  2. 【BLE】蓝牙抓包器 Ellisys 使用说明

    [BLE]蓝牙抓包器 Ellisys 使用说明 常用功能 设备过滤 抓包的类型 添加观察的项目 协议解析 连接过程 Connection Indication LLCP Feature Request ...

  3. CC2540 USB Dongle 蓝牙抓包分析仪使用教程

    Dongle经常被认为是硬件保护,它是一个可被附加在计算机并口.串口或USB上的小插件,它包含厂家烧制的EPROM和定制的专用集成电路.其实很多外形长得像USB的小插件都被宣称是Dongle. USB ...

  4. 技术积累 — Ellisys软件及抓包器用户使用指南

    一.前言 Ellisys号称是业界最先进的蓝牙 / Wi-Fi / USB协议分析仪,支持低功耗蓝牙协议分析测试,支持蓝牙5低功耗以及Wi-Fi的物联网应用,支持与原始频谱.UART / SPI HC ...

  5. Android 蓝牙抓包和分析 (1) 启用蓝牙HCI信息收集日志

    蓝牙通信其实和http通信有点类似,http通过接口交互抓取数据包也很方便,但是到了蓝牙就没那么方便了,本文就是介绍如何实现蓝牙数据包的抓取. 怎么抓包 另一种更为简便的抓包方式请阅读Android ...

  6. 嵌入式 linux usbmon,浅析linux下替代usbhound的usb总线sniffer抓包模块usbmon安装和使用...

    浅析linux下替代usbhound的usb总线sniffer抓包模块usbmon安装和使用 操作系统: ubuntu 8.10 内核版本: 2.6.27-7-generic ubuntu 8.10内 ...

  7. USB 之三 常用抓包/协议分析工具(Bus Hound、USBlyzer、USBTrace、USB Monitor Pro等)

    简介 在学习 USB 时,尝试了许多工具.有些是纯软件工具,有些是需要硬件配合.以下仅仅做个记录. Bus Hound   一个比较轻量级纯软件工具,软件界面看着就像上一个世纪的风格.官网为http: ...

  8. BLE 蓝牙抓包分析

    1. 抓包工具 Ellisys & Ellisys Bluetooth Analyzer  ​使用方法:https://blog.csdn.net/weixin_44260005/articl ...

  9. ellisys 蓝牙抓包工具 FAQ

    1.抓出来的包提示 out of sync packets 原因:抓出来的包提示 out of sync packets,抓不到连接后的数据,但是能看到正确的广播包.这种情况是因为在连接时刚好漏抓了一 ...

最新文章

  1. mp3 音频 音乐 tag ID3 ID3V1 ID3V2 标签 读取信息 获得图片 jpeg bmp 图片转换(上)
  2. opencv 头盔检测
  3. vba调用计算机,如何实现跨工作表自动引用数据? 求:EXCEL公式(函数)或VBA宏程序...
  4. Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
  5. React.js 基础入门四--要点总结
  6. python索引值_python索引总结
  7. APUE 学习笔记(十) 高级I/O
  8. matlab如何看线性趋势线,“excle直线拟合“excel 趋势线 是怎么计算出来的
  9. linux系统下在ubuntu20.04安装matlab2017总结
  10. kubernetes 网络callico和flannel两种网络
  11. 大学生利用信息差赚钱的方式
  12. 局域网常见问题解决方案之你可能没有权限使用网络资源无法访问网上邻居
  13. 【51单片机】 蜂鸣器发声程序
  14. 对 Go2 错误处理提案的批判
  15. instagram动态网页图片内容爬取(一)
  16. Choco使用小记--如何设置choco的默认软件包安装位置
  17. 用C语言编写PC与三菱PLC串口通讯,PC与三菱FX系列PLC通信的实现
  18. 动环监控系统中B接口的实现
  19. 高温不怕热,GVS智能家居为你打造夏日清爽雅居
  20. 企业网站制作网站安全评估技术与漏洞挖掘技术

热门文章

  1. python 的与众不同 -- 网络篇(二、网络请求/urllib)
  2. LinuxCNC的初步了解
  3. 天津理工大学信息论与编码实验(2)
  4. 网口压线顺序_网线压线顺序
  5. 针对血液有关问题感想
  6. 转吴小龙的 mvp Android MVP 实例
  7. 忘记WinXP系统登陆密码解决办法!
  8. 时间工具类(DataUtils)时间的获取,工农历的转换
  9. 部署微信小程序的后台服务器
  10. 史上最牛B的FLASH广告——本田汽车