博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
控安轩辕实验室:利用开源项目实现定位和时间欺骗(二)
阅读量:4219 次
发布时间:2019-05-26

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

GPS-SDR-SIM 项目是麻省理工学院许可下发布的开源 GPS 基带信号生成器项目。本期继续介绍该项目如何实现,想看上期请点链接)。

一、下载编译gps-sdr-sim

该项目以RINEX格式的GPS星历档案和想要定位的位置为输入,生成全球定位系统基带信号,供软件无线电平台回放。生成样本的默认最大持续时间为三分钟。可以通过以下命令在linux系统上获取GPS-SDR-SIM的代码并编译:

$ git clone git@github.com:osqzss/gps-sdr-sim.git$ cd gps-sdr-sim$ gcc gpssim.c -lm -fopenmp -o gps-sdr-sim

可以查看GPS-SDR-SIM命令的具体用法

$ ./gps-sdr-sim -hUsage: gps-sdr-sim [options]Options:    -e 
RINEX navigation file for GPS ephemerides (required) -u
User motion file (dynamic mode) -g
NMEA GGA stream (dynamic mode) -l
Lat,Lon,Hgt (static mode) e.g. 30.286502,120.032669,100 -o
I/Q sampling data file (default: gpssim.bin) -s
Sampling frequency [Hz] (default: 2600000) -b
I/Q data format [8/16] (default:8)

二、软件无线电平台

为了将信号传输到真实的环境中,我们需要软件定义的无线电平台,如**HackRF、BladeRF、USRP**。**HackRF**是一个使用USB 2.0接口的开源SDR平台,工作在10MHz到6GHz的频段,最大支持20Msps采样速率,但只有半双工。它提供了从主机驱动到ARM固件甚至硬件方案、PCB布局和BOM的每一个设计细节。**BladeRF**采用USB 3.0接口,工作在300MHz至3.8GHz频段,支持独立的RX/TX 12位40MSPS正交采样和全双工。BladeRF似乎比HackRF具有更好的射频性能,因为它使用一个集成的射频芯片来支持300兆赫兹到3.8兆赫兹的所有工作射频频率范围。HackRF使用印刷电路板上的一些射频开关和射频转换器将2.3千兆赫兹和2.7千兆赫兹之间的窄工作频率扩展到10兆赫兹和6千兆赫兹,这带来了相当大的射频功率损耗。但根据我们的实验,HackRF和BladeRF发射的GPS信号都可以被常规GPS接收机解码。在这里我们使用HackRF来实现。

./gps-sdr-sim -e brdc3540.14n -l 31.603202, 120.466576, 100 -b 8 -d 100

可以通过以上代码来生成2014年12月20日静态位置的GPS基带信号样本。这里需要指定星历文件(可自行更新至最新的星历数据),设置经纬度,必须指定采样精度为8否则用hackRF one欺骗成功率不高。在这里需要注意的是,参考的文章都没有添加-d参数,实验的过程中发现没有这个参数生成的仿真文件为空,所以我在这里使用-d 100生成了一个100s的gps信号文件(约500M)。

另外如果有其他目的也可以伪造一个动态的GPS数据样本,例如欺骗计步器,轨迹等

$./gps-sdr-sim -e brdc3540.14n -u circle.csv -b 8

三、HackRF发射GPS数据

基带信号样本产生后,我们可以通过软件无线电平台的天线进行传输。我们可以使用下面的命令行使用HackRF以1575.42兆赫兹重复传输样本。

hackrf_transfer -t gpssim.bin -f 1575420000 -s 2600000 -a 1 -x 0 -R

指定GPS数据,指定频率为民用GPS L1波段频率,指定采样速率2.6Msps,开启天线增益,指定TX VGA(IF)为0(为了限制影响范围,最大为47慎用),最后开启重复发射数据功能。其中:

∙ -t 文件名,从文件传输数据。

∙ -f 频率赫兹,频率赫兹。

∙ -s 采样速率,采样速率单位为赫兹。

∙ -a 放大器使能,接收/发射射频放大器 1 =使能,0 =禁用。

∙ -x 增益分贝,TX VGA(中频)增益,0-47分贝,1dB步长。

∙ -R 重复发射模式。

“-R”参数非常方便,因为“gpssdr-sim”只产生三分钟的样本,而GPS接收器可能在三分钟内不能完成第一次GPS捕获过程。

四、实验结果

手机终端40秒左右就可以被欺骗成功,如果不成功可以考虑将-x 0改为-x 10或20,或者重新生成基带信号文件试试。

Item Value
Hardware HackRF one
Test device iPhone 7plus
Test network China Mobile
LTE, China Unicom LTE
Real localtime Africa
(31.603202IN, 120.466576E)

该结果表明手机对GPS信号的依赖程度很高,手机内的应用更是如此。

转载地址:http://zxxmi.baihongyu.com/

你可能感兴趣的文章
Oracle 11g 新特性 -- RMAN Data Recovery Advisor(DRA) 说明
查看>>
CSDN博客之星 投票说明
查看>>
Oracle wallet 配置 说明
查看>>
Oracle smon_scn_time 表 说明
查看>>
VBox fdisk 不显示 添加的硬盘 解决方法
查看>>
Secure CRT 自动记录日志 配置 小记
查看>>
RMAN RAC 到 单实例 duplicate 自动分配通道 触发 ORA-19505 错误
查看>>
mysql 随机分页的优化
查看>>
DB2快速创建测试库
查看>>
利用db2look查看ddl
查看>>
java中的mmap实现
查看>>
Linux音频编程指南
查看>>
SD卡驱动分析--基于高通平台
查看>>
[图文] Seata AT 模式分布式事务源码分析
查看>>
pm 源码分析
查看>>
Sending the User to Another App
查看>>
kmsg_dump
查看>>
Getting a Result from an Activity
查看>>
Allowing Other Apps to Start Your Activity
查看>>
dev/mem
查看>>