永不消逝的电波(二)HackRF入门:家用无线门铃信号重放

0×00 前言

在第一篇文章:永不消逝的电波(一):无线电入门篇 我们了解了一下无线电的发展史以及无线电的一些物理知识,在第二篇里我们将用HackRF录制家用门铃的无线信号,然后重放门铃信号。

门铃从某宝买的,如图:

0×01 环境搭建:

MAC下可以用gqrx和hackrf (需要有Xcode、Mac Port的支持)

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

sudo port install gqrx

也可以参考:在Mac上安装HackRF环境

0×02 步入正题:

安装完成以后,插入HackRF,终端执行 hackrf_info:

hackrf_info
Found HackRF board.
Board ID Number: 2 (HackRF One)
Firmware Version: git-815d1f6
Part ID Number: 0xa000cb3c 0x00664f49
Serial Number: 0x00000000 0x00000000 0x583064c0 0x2640ad4b
#通过终端启动gqrx
gqrx

按下遥控器,我们可以看到信号的频率在314.100000Mhz(读作:314.1兆赫兹)左右

1Mhz=1000000hz;
1Khz=1000hz

314.1Mhz=314100000hz;

关掉gqrx启动hackrf

hackrf_transfer Usage:

Usage:
    -r <filename> # Receive data into file. 把接收到的信号、数据保存到文件中;(信号录制)
    -t <filename> # Transmit data from file. 从文件中提取、发送射频信号;(信号播放)
    -w # Receive data into file with WAV header and automatic name.
       # This is for SDR# compatibility and may not work with other software.
    [-f freq_hz] # Frequency in Hz [0MHz to 7250MHz].
    [-i if_freq_hz] # Intermediate Frequency (IF) in Hz [2150MHz to 2750MHz].
    [-o lo_freq_hz] # Front-end Local Oscillator (LO) frequency in Hz [84MHz to 5400MHz].
    [-m image_reject] # Image rejection filter selection, 0=bypass, 1=low pass, 2=high pass.
    [-a amp_enable] # RX/TX RF amplifier 1=Enable, 0=Disable.
    [-p antenna_enable] # Antenna port power, 1=Enable, 0=Disable.
    [-l gain_db] # RX LNA (IF) gain, 0-40dB, 8dB steps
    [-g gain_db] # RX VGA (baseband) gain, 0-62dB, 2dB steps
    [-x gain_db] # TX VGA (IF) gain, 0-47dB, 1dB steps
    [-s sample_rate_hz] # Sample rate in Hz (8/10/12.5/16/20MHz, default 10MHz).
    [-n num_samples] # Number of samples to transfer (default is unlimited).
    [-c amplitude] # CW signal source mode, amplitude 0-127 (DC value to DAC).
    [-b baseband_filter_bw_hz] # Set baseband filter bandwidth in MHz.
    Possible values: 1.75/2.5/3.5/5/5.5/6/7/8/9/10/12/14/15/20/24/28MHz, default < sample_rate_hz.
hackrf_transfer -r /dev/stdout -f 314100000 -a 1 -g 16 -l 32 -s 8000000

没按遥控器

按下遥控器:

由于hackrf_transfer后面没带解码参数,so我们看到一堆乱码数据;

0×03 录制信号&信号分析

录制遥控的无线信号:

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

终端输出:

hackrf_transfer -r door.raw -f 314100000 -g 16 -l 32 -a 1 -s 8000000 -b 4000000
call hackrf_sample_rate_set(8000000 Hz/8.000 MHz)
call hackrf_baseband_filter_bandwidth_set(3500000 Hz/3.500 MHz)
call hackrf_set_freq(314100000 Hz/314.100 MHz)
call hackrf_set_amp_enable(1)
Stop with Ctrl-C
16.0 MiB / 1.005 sec = 15.9 MiB/second
16.0 MiB / 1.003 sec = 15.9 MiB/second
16.0 MiB / 1.004 sec = 15.9 MiB/second
16.3 MiB / 1.004 sec = 16.2 MiB/second
16.0 MiB / 1.002 sec = 16.0 MiB/second
16.0 MiB / 1.001 sec = 16.0 MiB/second
16.0 MiB / 1.004 sec = 15.9 MiB/second
16.0 MiB / 1.003 sec = 15.9 MiB/second
16.3 MiB / 1.003 sec = 16.2 MiB/second
16.0 MiB / 1.003 sec = 15.9 MiB/second
16.0 MiB / 1.005 sec = 15.9 MiB/second
^CCaught signal 2
 8.1 MiB / 0.510 sec = 15.9 MiB/second

User cancel, exiting...
Total time: 11.54724 s
hackrf_stop_rx() done
hackrf_close() done
hackrf_exit() done
fclose(fd) done
exit



信号波形分析:

这里用到的软件是Audacity,导入录制的音频信号(未压缩原始数据)

然后出现如下界面:

使用默认参数,直接导入:

中间的那部分就是按下遥控时录制到的无线信号,我们使用Audacity的放大镜放大来看:

继续放大我们可以看到:

继续放大:

再放大:

这时经验比较丰富的童鞋可以通过图形,把无线射频信号转换成二进制数据:01010101**** ,接着可以把二进制写到GRC(Gnu Radio Cpmpainon),制作一个框图,使用GNC项目重放无线信号,大致方法如下:

启动Gnu Radio Cpmpainon  :Kali Linux—->无线攻击—>Software defined Radio—>GnuRadio-Companion

源:在右侧Misc一栏找到Vector Source

通过搜索添加Repeat(old)、Moving Average、osmocom Sink

四个组件:

按照流程连线:

GNC用得不多,暂时还不上手,这种方法以后再试 :)



0×04 信号重放

使用hackrf_transfer重放信号:

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

终端输出:

hackrf_transfer -t door.raw -f 314100000 -g 16 -l 32 -a 1 -s 8000000 -b 4000000
call hackrf_sample_rate_set(8000000 Hz/8.000 MHz)
call hackrf_baseband_filter_bandwidth_set(3500000 Hz/3.500 MHz)
call hackrf_set_freq(314100000 Hz/314.100 MHz)
call hackrf_set_amp_enable(1)
Stop with Ctrl-C
16.0 MiB / 1.004 sec = 15.9 MiB/second
16.0 MiB / 1.004 sec = 15.9 MiB/second
16.0 MiB / 1.003 sec = 15.9 MiB/second
16.0 MiB / 1.001 sec = 16.0 MiB/second
16.0 MiB / 1.000 sec = 16.0 MiB/second
16.3 MiB / 1.001 sec = 16.2 MiB/second
16.0 MiB / 1.003 sec = 16.0 MiB/second
16.0 MiB / 1.001 sec = 16.0 MiB/second
16.0 MiB / 1.005 sec = 15.9 MiB/second
16.0 MiB / 1.003 sec = 15.9 MiB/second
16.3 MiB / 1.003 sec = 16.2 MiB/second
 8.4 MiB / 1.004 sec =  8.4 MiB/second

Exiting... hackrf_is_streaming() result: HACKRF_ERROR_STREAMING_EXIT_CALLED (-1004)
Total time: 12.03184 s
hackrf_stop_tx() done
hackrf_close() done
hackrf_exit() done
fclose(fd) done
exit

0×05 演示视频

熊孩子的正确使用姿势是这样的:

for i in {1..999}; do hackrf_transfer -t door.raw -f 314100000 -g 16 -l 32 -a 1 -s 8000000 -b 4000000; done

嗯,你没看错,重复播放九百九十九次 :)

0×06 参考:

Hacking fixed key remotes

Exploring Bluetooth & iBeacons – from software to radio signals and back.

中文版:HackRF嗅探蓝牙重放iBeacons信号

GNU_Radio入门_V0.99

时间: 2024-09-20 08:57:39

永不消逝的电波(二)HackRF入门:家用无线门铃信号重放的相关文章

永不消逝的电波(一):无线电入门篇

0×00 无线电发展简史 · 1837年,摩斯发明了电报,创造了摩斯密码(Morse code),开始了通信的新纪元. · 1865年,英国的麦克斯韦总结了前人的科学成果,提出电磁波学说. · 1876年,贝尔发明了电话,能够直接将语言信号变为电能沿导线传送. · 1887年,德国科学家赫兹(Hertz)用一个振荡偶子产生了电磁波,在历史上第一次直接验证了电磁波的存在. · 1897年,意大利科学家马可尼(Marconi)在赫兹实验的基础上,实现了远距离无线电信号的传送,这个距离在当时不过一百码

永不消逝的电波(三):低功耗蓝牙(BLE)入门之如何调戏别人的小米手环

0×00 前言 蓝牙(Bluetooth),一种无线技术标准,用来让固定与移动设备,在短距离间交换数据,以形成个人局域网(PAN).其使用短波特高频(UHF)无线电波,经由2.4至2.485 GHz的ISM频段来进行通信.1994年由电信商爱立信发展出这个技术.它最初的设计,是希望创建一个RS-232数据线的无线通讯替代版本. 蓝牙技术目前由蓝牙技术联盟(SIG)来负责维护其技术标准,这个联盟拥有超过20,000间公司成员,其成员的领域分布在电信.电脑.网络与消费性电子产品上. 蓝牙也是目前数码

HackRF实现无线门铃信号分析重放

文章特点:数据解码方面实在是没什么信心,存在分析错乱的可能性,所幸发出来共同探讨,恳请鞭策. 0x01 概述 这是一款工作在315Mhz频段的无线遥控门铃,根据查阅官方手册以及芯片信息,确定其采用了eV1527 百万组编码芯片.这是一款无线发码专用集成电路,采用 CMOS 工艺制造,拥有 20 位内码,可预烧 100 万组内码组合,发射频率支持315Mhz与433Mhz.本文仅对基于录制的信号波形图进行简单分析,详细发码结构可参考相关文档. EV1527芯片说明:http://www.sc-te

HackRF实现ADS-B飞机信号跟踪定位

硬件平台:HackRF One软件平台:MAC运行环境搭建系统平台:OS X 10.11 EI Capitan文章特点:捕捉程序支持HackRF One且基于MAC平台验证通过有效. 1. 原理概述 之所以能够很容易的跟踪飞机,是因为航空CNS(通信导航监视)系统里大量采用非常古老的无线标准.因为航空业巨头们建立了一整套适航规定,飞机上任何一点小小的改动若想获得广泛的应用是非常麻烦的,更不要说对CNS系统的升级换代. CNS系统中大量采用脉冲体制以及明文传输,因此我们得以很容易的监听飞机以及地面

永不消逝的电波(四):从无线电角度揭秘定位劫持

0×00 前言 2015年的时候,360UnicornTeam 在Defcon黑客大会以及阿里移动安全 在BlackHat大会上均带来了GPS劫持的演讲,给大家揭开了GPS Hacking的神秘面纱在这篇文章中我们将通过无线的角度来看定位,以及学习如何进行定位的劫持和伪造. 我们生活中几种常见的定位方式:基于手机基站.基于GPS系统.基于WIFI: 0×01 基站定位 1.1 手机基站 & 蜂窝网络基站: 基站即公用移动通信基站是无线电台站的一种形式,是指在一定的无线电覆盖区中,通过移动通信交换

《Spring Boot官方指南》(二)入门(二)

3.2.5 命令行补全工具 Spring Boot CLI附带了一些脚本,这些脚本为BASH 和zsh提供了命令行补全功能.在任何shell里面都可以source到这些脚本(也叫spring),也可以初始化到个人或者系统级别的命令行工具里面.在Debian系统里面,系统级别的脚本在这个路径:/shell-completion/bash,shell程序启动以后,这里面的所有脚本都可以执行.例如,您已经使用SDKMAN!安装了这些脚本,为了手动执行他们,可以这样操作: $ . ~/.sdkman/c

PHP学习笔记之二 php入门知识_php基础

PHP学习笔记之二 1. 数组 PHP的数组其实是一个关联数组,或者说是哈希表.PHP不需要预先声明数组的大小,可以用直接赋值的方式来创建数组.例如: //最传统,用数字做键,赋值 $state[0]="Beijing"; $state[1]="Hebei"; $state[2]="Tianjin"; //如果键是递增的数字,则可以省略 $city[]="Shanghai"; $city[]="Tianjin&quo

央行年内二度加息传递哪些信号

根据中国人民银行公告,自26日起,金融机构一年期存贷款基准利率将上调0.25个百分点,其他各档次存贷款基准利率也相应作出调整. 分析认为,有效控制持续高位的通胀预期是央行此次加息主要出发点,同时加息也将为央行进一步使用数量型工具打开空间.而一个季度内两次加息所带来的政策累积效果,也会对居民今后资产配置模式产生一定影响. 此次加息后,我国金融机构一年期存款基准利率由现行的2.5%提高到2.75%:一年期贷款基准利率由现行的5.56%提高到5.81%.其他各档次存贷款基准利率相应调整. 分析人士认为

Shell学习(二)入门到复杂 脚本实例(计算器)

shell文件开头 shell文件必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执行: 运行chmod +x filename这atch样才能用./filename 来运行 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束.我们真诚地建议您在程序中使用注释. 变量 在shell编程中,所有