nRF52实践:抓包环境搭建

·  阅读 81

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第19天,点击查看活动详情
F52实践:抓包环境搭建。

概述

抓包器:nrf52840,刷的固件是抓包功能(某宝卖的抓包器,有2个功能,一般只能选一个,本文购买是抓包模式)。

抓包器设备简述:

  • 默认为抓包模式,插入PC后,win10会自动安装驱动,在正确安装软件情况下,打开wireshark,红色LED快闪。
  • 在插入PC后,按靠近USB的按键,进入DFU模式(可用NRF工具连接),此时蓝色 LED 慢闪。

准备工作

抓包工具

下载地址:

说明:本文使用的软件版本不是最新的,但是经过测试验证的。

image-20220518090155471.png

环境说明

笔者经过较多的尝试,最终在一台win7系统安装win10 64位虚拟机,在虚拟机中安装抓包工具,并最终达到目标。

插入抓包器后,vmware虚拟机识别,需连接到虚拟机中:

image-20220518084152701.png

win10识别抓包器:

image-20220518090041461.png

技术小结

安装及配置

安装python

按默认方式安装即可,注意选“Install Now”、添加环境变量。

image-20220518090305427.png

进入nrf_sniffer_for_bluetooth_le_4.1.0目录,安装依赖库,命令:pip install -r requirements.txt。下图是已经安装过的

image-20220518090552930.png

安装wireshark

默认安装即可(安装Npcap,不安装USBPcap)。

image-20220517124450278.png

配置 wireshark

打开 wireshark,选择帮助->关于->文件夹,双击Global Extcap path打开 Extcap 目录位置。

image-20220518090958447.png

进入nrf_sniffer_for_bluetooth_le_4.1.0目录。将extcap目录下所有内容拷贝到打开的位置。

image-20220518092240302.png

双击”个人配置“,进入该目录的profiles目录。

image-20220518091825516.png

nrf_sniffer_for_bluetooth_le_4.1.0目录的Profile_nRF_Sniffer_Bluetooth_LE目录拷贝到profiles目录。

image-20220518092346215.png

编辑->配置文件。

image-20220518092431648.png

选择”Profile_nRF_Sniffer_Bluetooth_LE“:

image-20220518092452446.png

点击OK确定。界面右下角显示:

image-20220518092551164.png

选择捕获->刷新接口。

image-20220518092604034.png

注:如果识别到抓包器设备,红色 LED 会快闪。

选择BLE的串口即可抓包分析。

image-20220518092636641.png

参考资源

官方 nRF_Sniffer_BLE_UG_v3.1.pdf 文件。

实践记录

本小节记录所遇问题及解决方法。

wireshark软件卡在“初始化外部捕获插件”

现象:win10系统,按教程安装软件并配置好,插入抓包器,打开wireshark软件,但卡在“初始化外部捕获插件”,经查,是 extcap 目录导致。去掉该目录能初始化成功。正常情况下,在“初始化外部捕获插件”阶段,抓包器红色 LED 快闪。

win10识别为普通串口,枚举ID:

image-20220420004347662.png

DFU识别:

image-20220424234418335.png 结果:有该台PC上一直无法配置成功,换一PC成功。

win7系统无法识别驱动

现象:win7系统无法识别抓包器设备。

win7 未能安装驱动:

image-20220417235844646.png 但能识别到设备:

image-20220418104616006.png

如果按靠近USB的按键,则进入DFU状态,也能识别到设备(注:此时PID与抓包状态不同):

image-20220424110803458.png 结果:使用win10系统,会自动识别,但win7不行。

重新烧录固件

根据官方论坛 devzone.nordicsemi.com/f/nordic-q-… 帖子的提示,在SDK/examples/usb_drivers有驱动,更新驱动选该目录,但不成功。

image-20220418104955917.png

另也有提到改固件:

in Windows 10, serial driver is loaded automatically for any device with class_02&subclass_02 in device descriptor (VID and PID doesn't matter). For Windows 8 and older, you need matching inf/cat files, and it will not install nordic_cdc_acm.inf as it has no VID/PID that match sniffer firmware.
As a quick fix, you can try to modify PID directly in hex file by changing two bytes at line 4085 (though I believe there should be some correct way):
​
:100EDC00120100020000004015191A52030201020F
​
org: :100EDC00120100020000004015192A5203020102FF
复制代码

实践如下:

插入抓包器,按板子上近USB的button,LED慢闪。打开nRF Connect for destop软件,Programer,sniffer_nrf52840dongle_nrf52840_7cc811f.hex文件按上面修改。拖到右边,点击左边Write烧写。

image-20220424235945770.png

结果:失败。

分类:
后端
标签:
收藏成功!
已添加到「」, 点击更改