日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HackRF实现GPS欺骗教程

發布時間:2024/3/12 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HackRF实现GPS欺骗教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


HackRF實現GPS欺騙教程

硬件平臺:HackRF One
軟件平臺:MAC運行環境搭建
系統平臺:OS X 10.11 EI Capitan
GPS終端:One Plus手機,飛行模式,僅GPS定位,GPS test App
文章特點:根據網上的文章實驗證明發現了問題總結歸納到此,針對以上環境擔保100%成功。


0. GPS系統簡介

GPS 系統本身非常復雜, 涉及到衛星通信等各個領域. 這里只是簡單介紹一下. 我們通常所說的 GPS 全球定位系統是由美國國防部建造完成. 目前在太空中共有31顆衛星在同時運作. 一般我們需要至少4顆衛星來完成三角定位. GPS衛星同時發送民用L1和軍用L2兩種無線信號. 我們通常使用的是沒有加密的L1民用 1575.42MHz 的超高頻波段.

GPS 信號里包含了3種常用信息.

Pseudorandom code: 簡單的ID 碼, 用來識別每顆衛星. Ephemeris data: 包含衛星的運行狀態, 時間日期等信息. 這在通過衛星來定位起到非常重要的作用. Almanac data: 包含有每顆衛星的軌道信息,以及衛星在某個特定時段將出現的具體位置.

內容摘自王康的PDF,下載地址見附錄:

1) GPS定位原理

首先,讓我們明確我們的需求。我們想要知道的是我們的位置坐標(x,y,z),如果從一個已知坐標(x1,y1,z1)的點A(這個點在現實情況下是衛星)廣播一個信號,比如說光和聲音或者電磁波,然后我們試著去測量信號發送至到達的時間差τ1(在gps系統中我們用的是電磁波,我們知道它的速度),然后我們就能得出下面的等式:

這個等式有3個未知變量,因此單單一個等式解不出來,我們可以再加兩個已知位置的點(衛星),我們把它們記作(x2,y2,z2) 和 (x3,y3,z3),然后就是下面的方程組

現在我們就能解出我們的位置(x,y,z)了

但在工程應用中這樣還不夠。為了測量電磁波發送至到達的時間差τ1,需要在電磁波發送的時候寫一個時間戳t1,然后是衛星上的時鐘時間參考值,當信號到達我們這里時,我們提取出時間戳t1,然后計算t1和當地時間t2的差值來計算時間差τ1。然而當地時間和衛星時間并不是同步的,會出現一個時間偏移量?t1,所以這個時間偏移量也要被考慮進去,于是修正后的方程式如下所示:

譯者注:所以有4個變量,就需要4個衛星來創造4個等式啦,以下高等數學內容略,以上內容說明我們需要偽造至少4顆衛星的信號才能使gps定位

1. 下載編譯gps-sdr-sim

因為我的OSX系統下使用MacPorts安裝了gcc5,xcode默認安裝的gcc是/usr/bin/gcc,所以直接make可能會提示找不到omp.h文件因為調用的是xcode的gcc(蘋果xcode安裝的gcc很多程序都無法成功編譯),那么按照下面的步驟即可正常安裝。

$ git clone https://github.com/osqzss/gps-sdr-sim.git $ cd gps-sdr-sim $ gcc-mp-5 gpssim.c -lm -O3 -o gps-sdr-sim

或者干脆sudo port select gcc mp-5再make就OK了

2. RINEX星歷數據下載

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

找brdc0050.16n.Z 這樣的文件,解壓出來就是了

3. 生成GPS仿真數據

$./gps-sdr-sim -e brdc3540.14n -l 29.643598,91.101319,100 -b 8

指定星歷文件(可自行更新至最新的星歷數據),設置經緯度(拉薩市),必須指定采樣精度為8否則用hackRF one欺騙成功率不高,反正我指定16是沒成功過(默認為16,烏云文章也是16但設備是bladeRF)

另外如果有其他目的也可以偽造一個動態的GPS數據樣本,例如欺騙計步器,軌跡等

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

GPS-SDR-SIM 運行時間問題

默認情況下GPS模擬器只能連續工作5分鐘左右. 通過查看源代碼后, 我們可以發現這是因為程序默認設置導致. 在程序設計之初為了節省硬盤空間, 默認只生成了300秒左右的數據. 我們可以通過改動參數來延長工作時間. 但需要注意的是僅僅延長到15分鐘,數據便可達到5G大小.

4. HackRF發射GPS數據

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

指定GPS數據,指定頻率為1575420000 即民用GPS L1波段頻率,指定采樣速率2.6Msps,開啟天線增益,指定TX VGA(IF)為0(為了限制影響范圍,最大為47慎用!!!),最后開啟重復發射數據功能

手機終端1分40秒就可以被欺騙成功,這里有一個測試技巧,就是定模模式選僅GPS定位,不要用基站、WLAN定位,這樣打開地圖等軟件就是偽造后的GPS坐標點。

效果如圖所示:

附錄:

https://www.blackhat.com/docs/eu-15/materials/eu-15-Kang-Is-Your-Timespace-Safe-Time-And-Position-Spoofing-Opensourcely-wp.pdf

總結

以上是生活随笔為你收集整理的HackRF实现GPS欺骗教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。