hackrf GPS欺骗
在对GPS欺骗之前,先对GPS的知识做一个简单的介绍
GPS 系统本身非常复杂, 涉及到卫星通信等各个领域. 这里只是简单介绍一下. 我们通常所说的 GPS 全球定位系统是由美国国防部建造完成. 目前在太空中共有31颗卫星在同时运作. 一般我们需要至少4颗卫星来完成三角定位. GPS卫星同时发送民用L1和军用L2两种无线信号. 我们通常使用的是没有加密的L1民用 1575.42MHz 的超高频波段。
GPS 信号里包含了3种常用信息.
Pseudorandom code: 简单的ID 码, 用来识别每颗卫星.
Ephemeris data: 包含卫星的运行状态, 时间日期等信息. 这在通过卫星来定位起到非常重要的作用.
Almanac data: 包含有每颗卫星的轨道信息,以及卫星在某个特定时段将出现的具体位置.
利用hackrf进行位置欺骗
使用hackrf对GPS的欺骗用下面几个步骤
工具下载,GPS欺骗用到了gps-sdr-sim,下载地址:https://github.com/osqzss/gps-sdr-sim.git ,之后使用gcc-mp-5 gpssim.c -lm -O3 -o gps-sdr-sim对源码进行编译。
生成GPS模拟数据。使用刚才编译过的gps-sdr-sim,具体的设置参数如下:
这里我们把要伪造的地点选在祖国的钓鱼岛
./gps-sdr-sim -e brdc3540.14n -l 25.7458636192,123.4737110138,100 -b 8 (这里-b的意思是采样精度是8,默认是16,这里hackrf -b设置为8成功率高)
hackrf 发射GPS数据,数据发送的参数如下:
使用 $ hackrf_transfer -t gpssim.bin -f 1575420000 -s 2600000 -a 1 -x 0 -R发送GPS数据。
指定GPS数据,指定频率为1575420000 即民用GPS L1波段频率,指定采样速率2.6Msps,开启天线增益,指定TX VGA(IF)为0(为了限制影响范围,最大为47慎用),最后开启重复发射数据功能。
过一会后,GPS欺骗成功