RTL-SDR + GnuRadio+RFcat 分析、重放无线遥控信号

简介: 0×00 前言 前段时间在《永不消逝的电波(二)HackRF入门:家用无线门铃信号重放》 一文中通过HackRF录制、重放了无线遥控信号,不过一直没来得及对信号进行分析,刚好在国外网站看到有大牛对遥控信号进行了分析(详见refer部分)。

0×00 前言

前段时间在《永不消逝的电波(二)HackRF入门:家用无线门铃信号重放》 一文中通过HackRF录制、重放了无线遥控信号,不过一直没来得及对信号进行分析,刚好在国外网站看到有大牛对遥控信号进行了分析(详见refer部分)。在这里便按照国外大牛分析无线遥控信号的方法来依葫芦画瓢。

*本文仅分享信号分析方式,因信号调制编码方式有所不同,如数据分析有出错,希望大家不要打我= ̄ω ̄= 

0×01 环境搭建

Mac可使用port(www.macports.org) 或者brew(brew.sh)安装GnuRadio依赖套件:

sudo port install gnuradio
sudo port install hackrf
sudo port install rtl-sdr
sudo port install gr-osmosdr gqrx
sudo port install hackrf

完成上面的工作后便能在Mac环境中使用电视棒、HackRF、GnuRadio了。

0×02 Recording 信号录制

录制遥控信号的方式有很多,如电视棒+SDR-sharp录制wav音频格式数据、通过HackRF命令终端录制RAW格式数据,本文使用GNURadio+SDR硬件(rtl-sdr、HackRF、BladeRF等)来实现这一功能:

左侧RTL-SDR Source将使用SDR硬件接收315MHz无线信号,采样率为2M,右上WX GUI Waterfall sink将接收到的信号通过瀑布图在PC上显示捕获的无线信号,右下角File Sink将捕获到的无线数据包储存到/tmp/test.cfile文件中。执行流图并摁下遥控可看到如下效果图:

个人比较喜欢使用gr-fosphor的瀑布图模块来对捕获到的信号在瀑布图上进行展示:

结束GnuRadio流图后,查看/tmp目录下的test.cfile:

0×03 Analysis 信号分析

分析信号可使用音频处理软件Audacity:

不过这种方式需要肉眼将波形转化成0跟1,看起来比较容易眼花。maybe,只有老司机才能很快很准确地用这种方式完成分析任务。

3.1 安装inspectrum

在这篇文章中我们将通过inspectrum(https://github.com/miek/inspectrum)这个工具来分析信号,配合Python将信号转成二进制数据。

sudo port install fftw-3-single cmake pkgconfig qt5
git clone https://github.com/miek/inspectrum.git
mkdir build
cd build
cmake ..
make
sudo make install
inspectrum -h
Usage: inspectrum [options] file
spectrum viewer

Options:
  -h, --help       Displays this help.
  -r, --rate <Hz>  Set sample rate.

Arguments:
  file             File to view.

3.2 数据导入、分析

inspectrum /tmp/test.cfile 

通过左侧Spectrogram参数的调节、缩放工具,我们可以实现波形图的放大缩小,颜色深浅调节:

下方Time selection可对波形进行划分:

对Symbols进行递增,直至囊括一个信号波形区域:

右键—>Add derved plot—>Add amplitude plot:

效果如下:

对部分参数进行微调:

导出波形数据:

此时在终端获得波形宽度数据:

3.3 解码

接下来我们可通过Python将这些数据转成0、1,,test.py代码如下:(if i > x x的值根据自身实际情况决定,建议取最大值跟最小值区间的自然数)

s = ''
a = [0.121182, 0.00224696, 0.00227361, 0.00222253, 0.121036, 0.121293, 0.12126, 0.00220722, 0.121013, 0.00221486, 0.00230146, 0.00230048, 0.120959, 0.120975, 0.12077, 0.00227199, 0.120701, 0.00226761, 0.00234306, 0.00225335, 0.120851, 0.120784, 0.12084, 0.00224014, 0.120892, 0.00221627, 0.00222881, 0.00219768, 0.121157, 0.00224349, 0.00221741, 0.00223827, 0.120798, 0.00237988, 0.00226093, 0.00232855, 0.120649, 0.120813, 0.121032, 0.00222553, 0.120876, 0.00221533, 0.00225347, 0.00228226, 0.120759, 0.120718, 0.12042, 0.00218557, 0.120344, 0.00222487, 0.00224753, 0.00227552, 0.120383, 0.120384, 0.120275, 0.00224362, 0.120611, 0.00219556, 0.00227022, 0.00224123, 0.120514, 0.120328, 0.12068, 0.0022916, 0.120735, 0.12043, 0.120697, 0.00224807, 0.120399, 0.120808, 0.120405, 0.00222214, 0.120512, 0.120833, 0.120495, 0.00226469, 0.120727, 0.120617, 0.120534, 0.00222499, 0.120441, 0.120626, 0.120297, 0.00208249, 0.120539, 0.120365, 0.120612, 0.00214876, 0.120545, 0.120262, 0.120739, 0.00228899, 0.12051, 0.120525, 0.120172, 0.00214644, 0.120678] 
for i in a:
	if i > 0.03:
		s +='1'
	else:
		s +='0'

0×04 replay 信号重放

通过上述方式,我们已对SDR捕获到的无线信号进行分析,并把信号文件转换成了二进制数据,接下来可使用GnuRadio对数据进行重放、修改测试,或者使用RFcat+Python实现廉价的重放Hacking。

0×05 refer

https://medium.com/@eoindcoolest/decoding-a-garage-door-opener-with-an-rtl-sdr-5a47292e2bda#.qu46ncrr3

Mike Walters: Reversing digital signals with inspectrum – YouTube

My quickest and easiest method for OOK signal decoding & replication in 2016 – YouTube

原文地址:http://www.freebuf.com/articles/wireless/111801.html

相关文章
|
9月前
|
数据采集 索引
NI采集卡USB-6361多通道模拟输入采集报错解决方案
折腾一块 USB-6361 采集卡很久了,之前都是单通道采集模拟信号,突然接到要使用双通道采集模拟信号,本想着就新增加一路 Analog Input task 即可,但事情总没有想象的那么简单,因此记录一下解决的方法。
220 0
|
传感器 芯片
可编程 USB 转串口适配器开发板与振弦传感器测量模块
当通过 IIC 接口修改 VM5xx 单个寄存器后,被修改的寄存器立即保存(断电不丢失),但连续寄存器的写入仅当时修改生效,模块重启后会自动恢复。为了能够使寄存器永久保存,可以单独向功能寄存器 03 写入指令码 0x000C 来强制保存所有寄存器。
可编程 USB 转串口适配器开发板与振弦传感器测量模块
|
传感器 网络协议 数据中心
多通道振弦传感器无线采发仪远程修改参数详解
无线采集仪支持远程无线修改设备参数功能,可通过短信指令、 FTP 文件、 TCP 在线指令三种途径实现。 参数修改指令需要参数地址值,参数地址可由配置工具 SETP 获取,方法是点击工具界面中的任意一个参数的【读取】按钮,点击后,在界面左侧的指令发送文本框内会出现形如“ $GETP=AAA#”的指令码,其中的 AAA就是此参数的地址值。
多通道振弦传感器无线采发仪远程修改参数详解
|
传感器
手持便携VH501TC混合信号采集仪的常见问题
不能开机 检查电池是否有电,检查电池安装极性是否正确。
手持便携VH501TC混合信号采集仪的常见问题
|
传感器
手持VH501TC混合传感器信号采集读数仪怎么使用
1.开机和关机 开机 在关机状态,长按【电源】 按键,屏幕显示开机画面, 当听到蜂鸣器提示音后即可松开按键,设备自动完成参数加载和系统自检进入工作首页。
手持VH501TC混合传感器信号采集读数仪怎么使用
|
传感器 存储
手持VH501TC多功能混合传感器信号采集读数仪使用方法
电池仓位于设备背面下半部分, 仅当使用 5 号电池供电时需要操作电池仓,锂电池供电的设备无需操作电池仓。默认情况下,电池仓盖处于锁定状态无法直接打开,在需要安装或者更换电池时,应将水平拨动开关推至解锁侧,在电池安装完成后必须将开关推至锁定侧。注意:在安装电池时必须按照仓内+/-符号对应电池的正/负极,错误的安装极性会永久性损坏设备。
手持VH501TC多功能混合传感器信号采集读数仪使用方法
|
传感器 存储
多功能手持VH501TC采集仪连接传感器与读数
振弦与温度传感器 振弦传感器和温度传感器(NTC)均为无源传感,不需要连接电源线。 根据前述“设备组成和接口定义” 用对应颜色的鳄鱼夹分别连接振弦传感器线圈和温度传感器两端即可。传感器连接后,屏幕自动显示实时的测量结果。一般情况下,设备配套传感测线为一根 4 芯线,红黑线连接振弦线圈,另外两根连接温度传感器。
多功能手持VH501TC采集仪连接传感器与读数
|
传感器 存储 物联网
手持VH501TC多功能混合信号采集仪接口说明
传感器接口 传感器接口须使用设备专门配备的测线,一端为 DB9 或者航空插头,另一端为用颜色区分的多个鳄鱼夹,线(鳄鱼夹)颜色和功能定义详见前述“设备组成和接口定义” 。
手持VH501TC多功能混合信号采集仪接口说明
|
传感器 芯片
可编程 USB 转串口适配器开发板与振弦采集模块测量模块
VM501/511振弦采集模块 是稳控科技生产的振弦传感器测量模块,具有IIC 接口和 UART 接口。
可编程 USB 转串口适配器开发板与振弦采集模块测量模块
|
传感器
手持VH501TC混合传感器信号采集仪如何使用
在关机状态,长按【电源】 按键,屏幕显示开机画面, 当听到蜂鸣器提示音后即可松开按键,设备自动完成参数加载和系统自检进入工作首页。
手持VH501TC混合传感器信号采集仪如何使用