HackRF介紹
HackRF是一款開源軟件無線電(SDR)平臺,由Great Scott Gadgets公司推出。它具有廣泛的頻率覆蓋范圍,從1 MHz到6 GHz,支持大部分常見的無線通信頻段。采用軟件定義無線電技術,HackRF提供了自定義和控制無線信號處理的能力,包括接收、發送、解碼和干擾。配備高速ADC和DAC,它能夠實現各種無線應用,并通過USB接口與計算機連接,方便集成到各種軟件和開發平臺中。作為一個功能強大且靈活的平臺,HackRF為安全研究人員、軟件無線電從業者和愛好者提供了一個開放的環境,用于探索和實驗無線通信技術和安全應用。
HackRF功能
HackRF可實現的功能可簡要分為如下幾點:
接收和解碼無線信號:HackRF可以接收并解碼各種無線信號,如無線電廣播、無線電通信、無線電定位等。用戶可以使用HackRF來監聽和分析無線信號,了解無線通信的工作原理。
發送和模擬無線信號:HackRF可以生成和發送各種無線信號,如無線電廣播、無線電通信、無線電干擾等。用戶可以使用HackRF進行無線通信實驗、無線信號干擾測試等。
破解和分析無線協議:HackRF可以用于破解和分析各種無線協議,如無線門禁系統、汽車遙控器、無線鍵盤鼠標等。用戶可以使用HackRF來分析無線協議的加密算法和通信流程,從而進行安全評估和漏洞分析。
定位和跟蹤無線信號:HackRF可以用于定位和跟蹤無線信號的發射源。用戶可以使用HackRF來進行定位和跟蹤無線設備,如無線攝像頭、無線麥克風等,從而實現無線設備的定位和監控。
在這一小節中,我們主要了解HackRF 接收和發送信號的功能,并在后續小節逐漸深入HackRF的各個功能。
注意:在使用HackRF設備時,在特定頻率和特定功率廣播需要執照,某些情況下甚至是非法的。請各位安全人員嚴格遵守相關無線電法規!
HackRF信號接收
Windows環境搭建
SDRsharp官網下載后,解包執行 install-rtlsdr.bat 自動下載 zadig.exe程序與此SDRsharp軟件同級目錄。SDRSharp.exe 為SDRsharp主程序,在運行SDRsharp.exe程序前需進行以下步驟:
將 HackRF One 連接計算機 USB,此時電腦無法識別HackRF One,我們需要打開 zadig 選擇Options->Lists All Devices->HackRF One,并點擊下圖中按鈕進行驅動安裝。
安裝成功后在設備管理器顯示如下圖,說明驅動安裝成功:
信號收聽
1.收聽FM廣播
FM頻率:
在全世界范圍內,FM 廣播波段屬于無線電頻譜的VHF部分,通常使用 87.5到108.0 MHz。
打開 SDRsharp后先將Source設置為HackRF后再進行其他操作。
HackRF Controller 為配置面板,DEVICE 下為設備名稱,LNA Gain 與 VGA Gain 分別是 AFE 增益控制,AMP 為 RX AMP 啟用/停止, PPM 為頻率誤差補償。
通常在 FM 頻率 LNA 設置在白天設置為 16或24,晚上設置為 8 即可正常工作,VGA 可根據信號進行調節,這里我設置為 24,AMP 也要勾選。設置完成后點擊 CLOSE 或直接關閉即可。點擊啟動按鈕顯示如下圖所示,出現的波峰為HackRF接收信號經SDRsharp解析識別到的可能信號源。
此時鼠標點擊不同波峰處進行收聽,即可切換至相應頻率的FM電臺。
2.收聽對講機
將頻率設定到440MHz附近,設置如下圖所示,圖中Radio選擇 NFM,并將 Correct IQ 勾選去除,點擊開始收聽后,在波形窗口中偶爾出現的波峰即是對講機發出的信號,即瀑布圖中偶爾出現的紅線。
3.收聽GSM信號
GSM 信號有兩個頻率 870MHZ,950MHZ。下圖為收聽870MHz的波形圖。
4.收聽其他信號
除了接收以上信息外,在指定頻率下,HackRF還可收聽航空、WiFi等信號。這里不再演示,大家感興趣可自行查找頻率范圍并測試收聽進行學習。
HackRF信號發送
ubuntu環境安裝
apt-get installHackRF libHackRF-dev libHackRF0
HackRF連接計算機,運行HackRF_info命令會輸出以下信息。
我們可以使用HackRF_transfer命令來接收或發送信號。
-d 表示要使用的HackRF的ID,如果你只插了一臺HackRF,·這個參數就可以忽視 -r 啟用該參數需要指定文件名稱,該參數是指將接收的音頻保存到指定文件中,以便后期采用 -t 啟用該參數需要指定文件名稱,該參數是指從文件讀取音頻 -w 此參數是指自動保存文件為WAV,此參數是為了和SDR#(一款無線電軟件,支持windows)兼容 -f 此參數為設置發送/接收的頻率,單位是Hz,范圍從0MHz到7250MHz -i 此參數為設置發送/接收的中頻,單位是Hz,范圍從2150MHz到2750MHz -o 此參數為設按置前端本地震蕩器的頻率(LO),單位是Hz,范圍從84MHz到5400MHz -m 此參數是選擇鏡像抑制濾波器,0為旁路,1為低通,2為高通 -a 此參數為是否啟用RX/TX射頻放大電路,0為禁用,1為啟用 -p 此參數為是否啟用天線端口電源,0為禁用,1為啟用 -l RX LNA(中頻)增益,可以設置0-40db,8db間隔 -g RX VGA(基頻)增益,可以設置0-62db,2db間隔 -x TX VGA(基頻)增益,可以設置0-47db,1db間隔 -s 此參數為設置采樣率,單位是Hz,范圍從2-20Mhz,默認為10Mhz -n 此參數為接收/發送的樣本的個數,默認為無限制 -S 此參數為設置緩沖區大小 -c 此參數為設置CW信號源模式,振幅0-127(DC值到DAC) -R 此參數為設置是否開啟重復發送,默認為關閉 -b 此參數為以Hz為單位,設置基帶濾波器的帶寬,以下是可能的值: 1.75/2.5/3.5/5.5/6/7/8/9/10/12/14/15/20/24/28Mhz,計算公式為: 默認值<=0.75*采樣率(Hz) -C 此參數為將內部晶體、時鐘設置為ppm -H 此參數為設置設備使用GPIO引腳同步USB傳輸
信號發送
我們可以使用下面的命令錄制信號。無線遙控設備通常是 315MHZ 和 433.92MHZ,這里指定錄制頻率為315MHz。運行后,手動觸發遙控信號。
HackRF_transfer -r open.raw -f315000000-l16-g 20
運行下面的命令重放剛剛錄制的遙控信號。
HackRF_transfer -t open.raw -f315000000-x40
除了在linux中使用HackRF_transfer接收和發送信號外,在windows中也可通過Universal Radio Hacker軟件進行接收和發送。我們可以利用HackRF接收和發送信號的能力,實現重放攻擊。為了方便演示,下面以GPS欺騙實驗為例,測試HackRF發送信號的功能。
實驗:GPS欺騙
我們可以使用GPS-SDR-SIM生成GPS仿真數據,并使用HackRF_transfer命令發送欺騙GPS信號。這個項目的原理是gps-sdr-sim能根據指定的衛星信息文件、坐標信息、采樣頻率等參數輸出二進制的信號文件,將這個二進制文件導入到USRP或者bladeRF之類的無線電射頻設備上就可以實現GPS的偽造。
下載并編譯 GPS-SDR-SIM。
git clone https://github.com/osqzss/gps-sdr-sim.git cdgps-sdr-sim gcc-mp-5gpssim.c-lm-O3 -ogps-sdr-sim
編譯完成后./gps-sdr-sim運行程序,該程序參數詳細解析如下。
Usage: gps-sdr-sim[options] Options: -e衛星信息文件(必須) -u 用戶定義的坐標文件 (動態的位置信息) -g NMEA坐標文件 (動態的位置信息) -l 坐標,維度-經度-海拔,例如:30.286502,120.032669,100 -t 模擬的開始時間 YYYY/MM/DD,hhss -d 持續時間 [秒] (最大: 300) -o
我們在世界地圖中隨意選取一個坐標與星歷數據生成GPS仿真數據
./gps-sdr-sim-ebrdc0010.22n -l95.64899170484503,25.988308575432956-b8
電腦連接HackRF后使用HackRF_transfer程序發射GPS數據。
HackRF_transfer-tgpssim.bin-f1575420000 -s2600000 -a1 -x0
注 :其中1575420000指定的是發射的頻率,而2600000是采樣頻率,并且HackRF 會在發送完300秒GPS信號后會自動停止。
我這里測試大概在2分鐘后,手機高德地圖被欺騙。
總結
在這一小節中,我們初步了解了HackRF的接收和發送信號的功能。并通過指定操作進行了接收和發送,并以GPS欺騙實驗為例,對HackRF One的信號發送有了一定程序的理解。在后續的小節中,我們會以GNU Radio相關實驗為例深入了解HackRF One的信號接收和發送能力。
審核編輯:劉清
-
USB接口
+關注
關注
9文章
702瀏覽量
55834 -
計算機
+關注
關注
19文章
7540瀏覽量
88646 -
dac
+關注
關注
43文章
2309瀏覽量
191579 -
無線通信
+關注
關注
58文章
4606瀏覽量
143892 -
遙控器
+關注
關注
18文章
840瀏覽量
66592
原文標題:軟件無線電安全之HackRF One初探
文章出處:【微信號:蛇矛實驗室,微信公眾號:蛇矛實驗室】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
拓撲網絡中EndDevice進行組播和廣播的發送信息A時Router接收到的信號A是直接收到的嗎?
為什么ucos-ii中斷發送信號量程序會跑死呢?
請問任務的調度執行是在請求信號量之后還是發送信號量之后?
ucos開發手冊中10.4任務同步,任務2請求信號量之后不是要發送信號量嗎?
DTMF信號發送/接收電路芯片MT8880
![DTMF<b class='flag-5'>信號</b><b class='flag-5'>發送</b>/<b class='flag-5'>接收</b>電路芯片MT8880](https://file1.elecfans.com//web2/M00/A4/2D/wKgZomUMMv-AVy4qAAAa1zpGbMw987.jpg)
向從未有人到過的星球發送信號時,會發生什么呢?
無線電信號的發送和接收
如何使用Gnuradio和Hackrf實現無線通信收發系統
![如何使用Gnuradio和<b class='flag-5'>Hackrf</b>實現無線通信收發系統](https://file.elecfans.com/web1/M00/C5/05/o4YBAF9HVfKAXus2AADJDHT2CQI239.png)
【Z站推薦】為什么發送CANFD加速報文要開啟發送延遲補償(TDC)?
![【Z站推薦】為什么<b class='flag-5'>發送</b>CANFD加速報文要開啟<b class='flag-5'>發送</b>延遲補償(TDC)?](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
使用TRF1108 D2S射頻放大器簡化發送信號鏈設計
![使用TRF1108 D2S射頻放大器簡化<b class='flag-5'>發送信號</b>鏈設計](https://file1.elecfans.com/web3/M00/00/99/wKgZO2dKvmiAaeUAAAAVCA-buXY915.png)
評論