博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重放***之无线门铃
阅读量:6273 次
发布时间:2019-06-22

本文共 3997 字,大约阅读时间需要 13 分钟。

重放***之无线门铃

准备工作:

 

  这里使用的设备是hackrf,所以需要在kali下安装hackrf的驱动和环境。打开终端,在终端中输入以下命令:

  sudo apt-get install hackrf libhackrf-dev libhackrf0

  安装完毕之后,插上hackrf,运行以下命令,可查看hackrf的基本情况。如下所示:

     hackrf_info

重放***之无线门铃

 
  接下来需要安装一些其他软件,在终端输入以下命令:

  apt-get install gnuradio gnuradio-dev gr-osmosdr gqrx-sdr wireshark```  安装完毕之后,接上相应的天线。这里首先需要将无线门铃信号先接收,然后再重发出去,所以需要将一根天线连接ANT端,一根连接OUT端,还需要一根天线连接到IN端。连接完毕之后如下所示:     ![](https://s1.51cto.com/images/blog/201803/02/8a68fb1ff750f8870c017c8ee96cb35c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)   接下来就是需要去获得相应的门铃信号了。这里首先需要确定无线门铃信号的频率,这样才能展开下面的***。如果在windows下面,可以使用sdrsharp-x86这一款软件,而如果在linux下,就可以使用gqrx这一款软件了。两款软件的界面如下所示: #### gqrx: ![](https://s1.51cto.com/images/blog/201803/02/5923e28789cf1e2dcc0027e4b20c9777.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) #### sdrsharp-x86: ![](https://s1.51cto.com/images/blog/201803/02/33eb8a727bdb1dbf7515f03881aaef46.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) ## 收集无线信号:   接下来所需要做的就是获取门铃信号的频率了,这里需要通过不断尝试才能获取到相应的频率。通过寻找,我们发现无线门铃信号频率在315MHZ附近,如下图所示: ![](https://s1.51cto.com/images/blog/201803/02/0f4c981866f47fae586e36bab1a17729.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)   找到所需要的频率之后,接下来的操作就是录制这个无线门铃信号了。我们先将hackrf插入电脑,通过hackrf_info指令确定hackrf已经和电脑成功连接可以使用。然后在终端内键入如下命令来录制门铃的无线信号:

hackrf_transfer -r doorbell.raw -f 315100000 -g 16 -l 32 -a 1 -s 8000000 -b 4000000

执行命令之后,在终端的输出如下: ![](https://s1.51cto.com/images/blog/201803/02/f3a9578ed8461226d8cdcd1eac191cc6.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)   在录制一段时间之后结束信号的录制,在对应的文件夹下面可以找到录制成功的文件。这里需要注意的是如果信号的录制没有完全,或者录制的时候干扰过大,会导致录制出来的信号会有畸变。这时需要对信号进行波形分析,观察信号是否有明显的畸变,所谓的畸变就是由于干扰,导致信号的高低无法分辨,即无法判断出信号是否为0或者1。所以需要对信号进行重新录制,否则实验是无法成功的。  在对信号进行观察的时候需要使用相应的波形观测软件,这里使用的是Audacity,导入频率文件之后,对其进行放大。就可以观察到频率信号的具体情况了。如下图所示:     ![](https://s1.51cto.com/images/blog/201803/02/2aa66aea270f204e5b6ac670238ce5f0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) ## 重放***  在播放这个频率信号文件时可以采用两种方法,一种是通过一开始安装的Gnu Radio对信号进行重放。这个软件在无线电上应用非常广泛,很方便初学者使用,避免了那些难以记忆的复杂命令,采用可视化的模块拖动就可以完成对信号的重放。  在终端直接输入以下命令:gnuradio-companion  可以打开Gnu Radio,然后通过简单的拖动完成即可完成对录制的频率文件的播放。  如图所示:![](https://s1.51cto.com/images/blog/201803/02/5cd060195c2abc6fc56364d71cc79385.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)  然后指定源文件之后就可以进行重放***了。当然也可以直接使用hackrf直接去重放获得的频率信号。因此首先我们需要对hackrf的命令有一个基本的了解,hackrf的使用指南可以在hackrf的官网上找到,这里摘录了部分(进行了翻译):

[-r] <filename> # 把接收到的信号、数据保存到文件中;

[-t] <filename> # 从文件中提取、发射射频信号;
[-w] # 接收数据到WVA头中
[-f freq_hz] #设定播放的频率
[-i if_freq_hz] # 中频段 (IF) in Hz [2150MHz to 2750MHz].
[-o lo_freq_hz] # 前端本地振荡器频率 in Hz [84MHz to 5400MHz].
[-a amp_enable] # 选择播放接收使能
[-p antenna_enable] # 天线口功率, 1=Enable, 0=Disable.
[-l gain_db] # 接收低噪声放大器(IF)增益, 0-40dB, 8dB steps
[-g gain_db] # 接收VGA(基带)增益, 0-62dB, 2dB steps
[-x gain_db] # 发送VGA(基带)增益0-47dB, 1dB steps
[-s sample_rate_hz] # 赫兹采样率(8/10/12.5/16/20MHz, default 10MHz).
[-n num_samples] # 传送样本数 (默认是无限的).
[-c amplitude] # CW信号源模式,振幅0-127(DAC直流值).
[-b baseband_filter_bw_hz] 设置基带滤波器带宽。

  按照以上的hackrf使用指南,可以写出如下命令来播放门铃信号其中doorbell.raw为录制好的门铃信号:

  hackrf_transfer -t doorbell.raw -f 314100000 -x 47 -a 1 -s 8000000 -b 4000000

  在终端会出现如下界面。![](https://s1.51cto.com/images/blog/201803/02/ee67192c11114baf387810d109788f79.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)  如果想不断播放,在上面的命令后增加一个-R即可。就可以不断重复播放无线门铃信号了。

转载于:https://blog.51cto.com/13620939/2079945

你可能感兴趣的文章
TCP的三次握手四次挥手
查看>>
关于redis的几件小事(六)redis的持久化
查看>>
package.json
查看>>
webpack4+babel7+eslint+editorconfig+react-hot-loader 搭建react开发环境
查看>>
Maven 插件
查看>>
初探Angular6.x---进入用户编辑模块
查看>>
计算机基础知识复习
查看>>
【前端词典】实现 Canvas 下雪背景引发的性能思考
查看>>
大佬是怎么思考设计MySQL优化方案的?
查看>>
<三体> 给岁月以文明, 给时光以生命
查看>>
Android开发 - 掌握ConstraintLayout(九)分组(Group)
查看>>
springboot+logback日志异步数据库
查看>>
Typescript教程之函数
查看>>
Android 高效安全加载图片
查看>>
vue中数组变动不被监测问题
查看>>
3.31
查看>>
类对象定义 二
查看>>
收费视频网站Netflix:用户到底想要“点”什么?
查看>>
MacOS High Sierra 12 13系统转dmg格式
查看>>
关于再次查看已做的多选题状态逻辑问题
查看>>