2019-09-10 | UNLOCK

2019-9-10-hackrf使用及gps欺骗

hackrf使用

环境:ubuntu16.04.3

环境搭建:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
sudo apt-get install gnuradio

sudo apt-get install hackrf

sudo apt-get install gqrx-sdr

sudo apt-get install libhackrf-dev

git clone git://git.osmocom.org/gr-osmosdr
#GNU内就是用osmosdr作为信号发送端和接收端

cd gr-osmosdr/

mkdir build

cd build/

cmake …/

make

sudo make install

gps欺骗

在hackrf上安装好gpsdo晶振后就能稳定地进行gps欺骗了,之前没装gpsdo的usrp总是欺骗失败,虽然很多师傅都说usrpb210可以直接欺骗,但始终不成功,可能是虚拟机的原因吧。

安装好hackrf及gnuradio的环境后,就能安装gps-sdr-sim

1
2
3
git clone https://github.com/osqzss/gps-sdr-sim.git
cd gps-sdr-sim
gcc gpssim.c -lm -O3 -o gps-sdr-sim

gps模拟器默认运行时间只有五分钟(DUSER_MOTION_SIZE=3000),如果想要延长可以在gcc编译的时候就改设置,之后改设置也可以

1
2
gcc gpssim.c -lm -O3 -o gps-sdr-sim -DUSER_MOTION_SIZE=4000#gcc编译时就改设置
make USER_MOTION_SIZE=4000#gcc编译后也可以改时间设置

安装好gps-sdr-sim后就是下载星历

ftp://cddis.gsfc.nasa.gov/pub/gps/data/daily

nasa的网站上就可以下

1
2
3
sudo ./gps-sdr-sim -e <导航电文文件> -g <轨迹文件> -b 8 #动态路线可以使用这个命令,轨迹文件格式为name

sudo ./gps-sdr-sim -e brdc3540.14n -l 66.6855097600,60.0366210938,100 -s 2500000 -b 8#静态的可以用-l设置经纬度和高度,-e是星历文件,-s是频率,-b是采样精度,hackrf一般设为8,之后会在当前目录下生成gpssim.bin文件

最后可以简单地使用命令实施gps欺骗

1
hackrf_transfer -t gpssim.bin -f 1575420000 -s 2500000 -a 1 -x 1 #-x是增益,如果不想不违法就不要太高,一般低于47都没问题

动态gps欺骗

下载google erath 桌面版,然后点击添加路径,之后把小窗口移到旁边,就可以在地图上画路径了,点击确认后在位置栏对新增加的路劲右键保存为kml文件。

下载SatGenNMEA,载入kml文件,可以设置加速度和最高速度,生成nmea文件。

1
sudo ./gps-sdr-sim -e ./brdc3540.14n -g car.nmea -b 8

生成gpssim.bin文件,之后步骤与静态gps欺骗一样

稍等一会后打开地图就会发现自己在跑了。

评论加载中