hackrf_infoというツールが、kali ー 01-Reconnaissance ー Radio Frequencyの下にあります。
下図はこれに関連する一連のhackrf関連のコマンドの一覧です。

デフォルトで以下の9コマンドが登録されています。
このうち主なコマンドである ‘hackrf_info’ , ‘hackrf_transfer’ , ‘hackrf_sweep’ について、主に調べます。
hackrf_info
電波を収集してデジタル信号に変換するデバイスの情報確認コマンドです。
確認できる内容(主なもの)
- ファームウェアバージョン
- シリアル番号
- ボードID
- USB認識状況

hackrf_transfer
CLIで受信・送信を行います。
受信
例として88.3MHzを ‘sample.iq’ というファイルに記録する場合です。
サンプルレート(記録する周波数帯域)は2MHzで設定しています。(つまり87.3MHzから89.3MHzまでの周波数を記録)
hackrf_transfer -r sample.iq -f 88300000 -s 2000000

1秒毎に1行ずつ記録状況が表示されます。
記録ストップは、 ‘Ctrl + C’ です。
記録されたファイルです。GUIでの表示はこんな感じ。
このツールは記録のみ行います。(記録されたファイルは後で別ツールで解析します。)
送信
下記例は ‘sample.iq’ ファイルを433.92GHzで送信する場合です。
hackrf_transfer -t sample.iq -f 433920000
但し無許可の送信は違法です。
オプション
主なオプションです。
| オプション | 意味 |
|---|---|
| -r | 受信信号を保存するファイル名の指定 |
| -t | 送信ファイルの指定 |
| -f | 周波数の指定 |
| -s | サンプルレート(周波数幅)の指定 (デフォルト=10MHz) |
| -a | RFアンプ:on(1)/off(0) |
| -l | LNAゲイン(下記注釈)(RFアンプのゲイン) |
| -g | VGAゲイン(下記注釈) |
| -n | 取得サンプル数(デフォルトは無制限) |
注)LNAゲイン(Low Noise Amplifier Gain)とVGAゲイン(Variable Gain Amplifier Gain)について
| オプション | 種類 | 設定可能値 | 増幅器の位置 | 利点 | 欠点 |
|---|---|---|---|---|---|
| -l | LNAゲイン | 0から40dBまで8dB刻み | 周波数変換前 | 弱い電波の検知による受信感度改善 | 強い電波が側にあると飽和・相互変調・ゴースト信号の発生 |
| -g | VGAゲイン | 0から62dBまで2dB刻み | 周波数変換後 | FFT表示を見やすくできる | ノイズも増幅してしまう |
ヘルプ

hackrf_sweep
広帯域スペクトラムアナライザです。
主な用途は以下の通りです。
- 不明信号探索
- 電波環境調査
- スプリアス(内部雑音)検出
実行
例)周波数88MHz~108MHzを、FFTビン幅100kHzで掃引。
hackrf_sweep -f 88:108 -w 100000
FFTビン幅:周波数帯の区切り幅
実行結果の解釈
ヘッダ部

- call hackrf_sample_rate_set(20.000MHz) ➡️ サンプルレートは(デフォルトの)20MHz
- call hackrf_baseband_filter_bandwidth_set(15.000MHz) ➡️ 内部IFフィルタを15MHzに設定
- sweepinf from 88 MHz to 108 MHz ➡️ スキャンする周波数の範囲は88MHz~108MHz
データ部

- 2026-06-16, 08:05:43.794702 ➡️ 実行日時
- 88000000, 93000000 ➡️ スキャン範囲(88〜108MHz)のうち、まずは88〜93MHzを区切ってスキャンします
- 98039.22 ➡️ bin幅(スキャンの最小単位:コマンドオプションで100kHzに設定しましたが、実際には98.03922kHzに設定されました)
- 204 ➡️ bin数(スキャン範囲20MHz [ 88~108Mhz ] ➗ bin幅 [ 98.03922kHz ] = 204)
- -64.80 ➡️ 88MHzを中心とする幅98.03922kHzの平均信号強度(平均電力)が-64.80dB
- -67.20 ➡️ 88.09803922MHzを中心とする幅98.03922kHzの平均信号強度(平均電力)が-67.20dB
- -62.41 ➡️ 88.19607844MHzを中心とする幅98.03922kHzの平均信号強度(平均電力)が-67.41dB
- …以下98.03922kHz間隔の平均信号強度が並ぶ
これを秒間400回で繰り返して記録されています。
信号の強さの目安
| 信号レベル | 意味 |
|---|---|
| -40dB付近 | 非常に強い |
| -50dB付近 | 強い放送局 |
| -60dB付近 | 普通に受信 |
| -70dB付近 | 弱い |
| -80dB以下 | ほぼノイズ |
フッタ部

- Ttal sweeps: 383 in 0.95781 seconds (399.87 sweeps/second) ➡️ 0.95781秒間に383回スキャン(秒間399.87回)
出力の保存
オプション ‘-r’ を使用します。
hackrf_sweep -f 周波数下限:周波数上限 -w ビン幅 -r ファイル名

記録されたデータは、電力値のCSV形式の出力になります。

各データは、最初に設定したスキャン周波数帯幅を4つに分けた上で、その各部分につき、” 年月日, 時分秒, 開始周波数, 終了周波数, ビン幅, ビン数, 電力値1, 電力値2, … 電力値51 “と並んでいます。
*周波数の低い順にスキャンされ、その順に電力値が並んでいますので、それぞれの電力値に対応する周波数帯は計算によって求められます。
n番目の電力値に対応する周波数 = 開始周波数 + ビン幅✖️(n-1)
上記周波数を中心とする、上下1/2ビン幅の範囲内の平均電力値が表示されていることとなります。
ヘルプ
‘hackrf_sweep’ のヘルプです。

その他のコマンド
その他の6コマンドは、 ‘hackrf_clock’ 、 ‘hackrf_debug’ 、 ‘hackrf_spiflash’ 、 ‘hackrf_cpldjtag’ 、 ‘hackrf_operacake’ 、 ‘hackrf_biast’ です。
あまり使わないみたいなので簡単に触れます。
hackrf_clock
外部クロック設定します
hackrf_debug
低レベルデバッグ用コマンド。開発者向けのツールで、通常のユーザーはほぼ使いません。
hackrf_spiflash
SPI Flashの操作を行います。
。SPI FlashとはNOR型フラッシュメモリであり、ファームウェアの読み書きに使用します。
hackrf_cpldjtag
HackRF内部のLattice Semiconductor CPLDを書き換えます。
Lattice Semiconductor:メーカー名
CPLD:複合成形ロジックデバイス
hackrf_operacake
アンテナ切替モジュールである、Opera Cakeを制御します。
hackrf_biast
HackRF OneのBias-T(バイアスティー)電源を制御するためのコマンドです。
bias-Tとは、通常の同軸ケーブルに、RF信号(交流)と同時に流せる電源(直流)のことです。
これにより例えば、下記のようなアンテナ周りの付属機器に給電できますので、これらをUSB給電なしで動作させられます。
- GPS受信用LNA
- ADS-B用LNA
- NOAA衛星受信用SAWbird
- アクティブアンテナ
まとめ
‘hackrf’ 関連コマンドは合計9つありますが、今回は頻用される3つを紹介しました。
- ‘hackrf_info’ は、 ‘HackRF_One‘ などのデバイスの確認。
- ‘hackrf_transfer’ は、電波の送受信。
- ‘hackrf_sweep’ は、指定した周波数帯の電波スキャン。
に、それぞれ使用されます。

コメント