基于HACKRF的低功耗蓝牙BTLE packet sniffer/scanner
01-04
--------------------------------新增------------------------------------
HACKRF BTLE sniffer. 之前的版本只支持37/38/39广播信道sniff,现在加入数据信道支持。可以手工指定数据信道,接入地址,CRC初始化值等建链参数去监听。
加入Verbose选项和raw选项。raw选项下,只要检测到指定前导字,则后续解调的42字节原始内容打印出来。利用btle_tx和btle_rx的RAW选项,HACKRF之间就容易去互动通信了。
---------------------------------------------------------------------------
玩低功耗蓝牙的朋友一定对TI的CC2540 dongle不陌生,它可以抓取空中的BTLE的包。现在HACKRF也可以了!
(原始博文链接:http://sdr-x.github.io/BTLE-SNIFFER/)
演示视频:https://vimeo.com/144574631
这个视频演示了iPhone关开蓝牙时发出的一些包同时被HACKRF packet sniffer (画面上半部分)和TI的packet sniffer (画面下半部分,虚拟机内)捕捉。内容和数量都是一样的。
主要的新特性 (参见release note:http://sdr-x.github.io/BTLE-SNIFFER/ ):
1. btle_rx支持BTLE packet sniffer/scanner. 采用全定点快速算法实现低延迟实时处理。实测下来,接收的处理时延大约4ms,加上最坏情况下的buffer时延4ms,发射时延也可以在10ms以下,总的说来跟上一些慢速跳频的BTLE链路还是有希望的。实际观察很多设备建立BTLE链路时协商的跳频速度为30ms。因此为了玩BTLE保证收发跳频切换也许不用全部移植到板上的MCU中,通过USB也是可以的。
2. 新增“Descovery”包,可用于btle_tx在你的手机App(比如LightBlue)上显示任意设备名字和service. (其实我的这个ADS-B BTLE 中继就用了这个技巧 :
http://sdr-x.github.io/abar/
3. Some bugs are fixed.
4. 注意!为了支持实时低延迟处理,你需要改hackrf driver:hackrf.c:
lib_device->transfer_count 变为 4
lib_device->buffer_size 变为 4096
然后重新编译安装driver,再编译这个BTLE sniffer.
除了演示视频也测试了极限性能,从空中无间隙的连续灌BTLE的包,TI的packet sniffer和HACKRF可以看到效果相同:
HACKRF BTLE sniffer. 之前的版本只支持37/38/39广播信道sniff,现在加入数据信道支持。可以手工指定数据信道,接入地址,CRC初始化值等建链参数去监听。
加入Verbose选项和raw选项。raw选项下,只要检测到指定前导字,则后续解调的42字节原始内容打印出来。利用btle_tx和btle_rx的RAW选项,HACKRF之间就容易去互动通信了。
---------------------------------------------------------------------------
玩低功耗蓝牙的朋友一定对TI的CC2540 dongle不陌生,它可以抓取空中的BTLE的包。现在HACKRF也可以了!
(原始博文链接:http://sdr-x.github.io/BTLE-SNIFFER/)
演示视频:https://vimeo.com/144574631
这个视频演示了iPhone关开蓝牙时发出的一些包同时被HACKRF packet sniffer (画面上半部分)和TI的packet sniffer (画面下半部分,虚拟机内)捕捉。内容和数量都是一样的。
主要的新特性 (参见release note:http://sdr-x.github.io/BTLE-SNIFFER/ ):
1. btle_rx支持BTLE packet sniffer/scanner. 采用全定点快速算法实现低延迟实时处理。实测下来,接收的处理时延大约4ms,加上最坏情况下的buffer时延4ms,发射时延也可以在10ms以下,总的说来跟上一些慢速跳频的BTLE链路还是有希望的。实际观察很多设备建立BTLE链路时协商的跳频速度为30ms。因此为了玩BTLE保证收发跳频切换也许不用全部移植到板上的MCU中,通过USB也是可以的。
2. 新增“Descovery”包,可用于btle_tx在你的手机App(比如LightBlue)上显示任意设备名字和service. (其实我的这个ADS-B BTLE 中继就用了这个技巧 :
http://sdr-x.github.io/abar/
3. Some bugs are fixed.
4. 注意!为了支持实时低延迟处理,你需要改hackrf driver:hackrf.c:
lib_device->transfer_count 变为 4
lib_device->buffer_size 变为 4096
然后重新编译安装driver,再编译这个BTLE sniffer.
除了演示视频也测试了极限性能,从空中无间隙的连续灌BTLE的包,TI的packet sniffer和HACKRF可以看到效果相同:
你是不是搞监听啊!
淘宝几十块钱的cc2540 dongle也有同样功效。我只是自己diy了一个类似的,没有那么耸人听闻。
你又解LTE又解蓝牙的,让人恐怖。
有没有那种很便宜的DSP芯片?几块钱RMB的
看两本书就了解了,哪有恐怖。
如果STM32和NXP的单片机也算一种低端DSP的话,淘宝上找吧,应该有。
相关文章:
- GSM Sniffer (05-08)
射频专业培训教程推荐