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

向從未有人到過(guò)的星球發(fā)送信號(hào)時(shí),會(huì)發(fā)生什么呢?
無(wú)線電信號(hào)的發(fā)送和接收
如何使用Gnuradio和Hackrf實(shí)現(xiàn)無(wú)線通信收發(fā)系統(tǒng)

【Z站推薦】為什么發(fā)送CANFD加速報(bào)文要開(kāi)啟發(fā)送延遲補(bǔ)償(TDC)?

使用TRF1108 D2S射頻放大器簡(jiǎn)化發(fā)送信號(hào)鏈設(shè)計(jì)

評(píng)論