NRF51822制作蓝牙抓包器

     前几天由于需要向别人讲解BLE相关知识,为了更加直观展示,想抓段数据来讲解报文部分。苦于手头没有 USB dongle,现寄过来一个时间也来不及了,于是突然冒出个想法,能不能自己做一个。

    从NORDIC官网上下载了ble-sniffer_win_1.0.1,解压之后发现东西还是挺全的,除了软件之外,还有PDF和Firmware,在Firmware文件夹下面有个名字为ble-sniffer_nRF51822_1.0.1_1111_Sniffer.hex的固件,由此看来自己动手做还是大有希望的。打开ble-sniffer的User Guide粗略读了一下,里面说了一下所需要的软硬件和操作方法,使用方法的大致流程就是先烧写固件到NRF51822,然后sniffer通过串口使用抓数据,最后用wireshark分析。还算简单,下面开始动手。

    首先,找了一块以前网上买的一个NRF51822模块,用nRFgoStudio先将固件烧进去,先Erase all,然后在Program Application那选择ble-sniffer_win_1.0.1\Sniffer\Firmware目录下的ble-sniffer_nRF51822_1.0.1_1111_Sniffer.hex,选择Program将它烧写进去。

NRF51822制作蓝牙抓包器_第1张图片

    下一步就是将模块用USB转串口连接到电脑了,注意,这个软件的串口通信需要使用硬件流控,所以USB转串口还需要连接CTS和RTS。翻出来一个USB转串口,发现只有VDD,GND,RX和TX,没有CTS和RTS线,怎么办,那就直接拆开自己引出来这两根线。拆开USB转TTL,看一下芯片是CH340,就长下面这样。


     网上搜索一下CH340G的PDF,手册说CH340G的第9脚是CTS,14脚是RTS。NRF51822制作蓝牙抓包器_第2张图片NRF51822制作蓝牙抓包器_第3张图片

既然找到了对应管脚,那就点上电烙铁开始焊接。焊完就是这幅德行

NRF51822制作蓝牙抓包器_第4张图片

看一下PCA10028.h中NRF51822对串口引脚是如何定义的,RX是11,TX是9,CTS是10,RTS是8。

NRF51822制作蓝牙抓包器_第5张图片

下面开始连线。

NRF51822                              USB-to-UART


TX <------------------------------------>RX     

RX <------------------------------------>TX     

RX <------------------------------------>TX     

CTS <------------------------------------>RTS     

RTS <------------------------------------>CTS     


NRF51822制作蓝牙抓包器_第6张图片NRF51822制作蓝牙抓包器_第7张图片NRF51822制作蓝牙抓包器_第8张图片

     

    现在连接电脑,打开ble-sniffer,sniffer已经找到了硬件,并且开始扫描到周围的其他蓝牙设备了

NRF51822制作蓝牙抓包器_第9张图片

选择相应的设备然后按W启动wireshark,之后就可以很友好的观察数据了。

NRF51822制作蓝牙抓包器_第10张图片

     至此,抓包器制作完成。另外如果启动wireshark后发现收到数据,但是却未显示,打开【分析】->【专家信息】里面显示user encapsulation not handled:DLT=157.....一类的信息,这时候就要打开【编辑】->【首选项】,在protocol下面找到DLT-USER,然后右侧选择【编辑】添加一个,DLT选择DLT=157, payload protocol处填写nordic_ble,之后就可以了。

NRF51822制作蓝牙抓包器_第11张图片

NRF51822制作蓝牙抓包器_第12张图片



























你可能感兴趣的:(BLE)