[AI 整理声明]本文基于作者的项目文档与开发实践,由 AI 辅助整理输出,核心内容与数据均来自作者本人。
目录
- 安装
- 设备
- 频谱
- 抓包
- 重放
- GPS
- 参数档
- 架构
- 注意
用 HackRF One 做信号录制或重放的时候,每次都要拼一长串hackrf_transfer参数,频率、采样率、增益各记各的,容易写错,抓完的.raw文件也没地方统一管理。HackRF One Toolkit 就是把这些操作收进浏览器的 Web 控制台——选频段、按按钮,后台帮你构造并执行真实命令,把频谱、功率曲线、解码结果推回页面。
- GitHub:https://github.com/cstriker1407/HackRF_One_Toolkit
安装
硬件端(Kali / Debian 系):
sudoaptinstallhackrf rtl-433 soapysdr-module-hackrf# 可选:GPS 模拟需要 gps-sdr-sim(源码编译)gitclone https://github.com/osqzss/gps-sdr-sim tools/gps-sdr-sim gcc tools/gps-sdr-sim/gpssim.c-lm-O3-otools/gps-sdr-sim/gps-sdr-simPython 3.11+,依赖flask/waitress/requests(见pyproject.toml)。
./start.sh# 启动 RF_Bridge(:30001) + hackrf_web(:30000)./stop.sh# 停止,并清理残留子进程浏览器打开http://<主机IP>:30000。硬件和浏览器可以不在同一台机器——RF_Bridge 加--allow-lan后从另一台机器访问即可,比如 Kali 上接 HackRF,Windows 浏览器操作。
设备
进来先看「硬件设备」页,确认设备在线:
列出每台 HackRF 的序列号、固件、硬件版本;克隆板有黄色提示(时钟精度可能影响 GPS);多台设备时点「设为当前」切换。下方「RF_Bridge 工具链」显示hackrf_*/rtl_433/gps-sdr-sim是否就位。
频谱
「频谱扫描」页用来看环境里有什么信号:
点一个预设频段(如WiFi·BLE 2.4 GHz)或手填起始/结束频率,点「连续扫描」或「单次扫描」。绿线是此刻功率,暗黄线是峰值保持(把出现过的最强值定格,间歇信号不会漏)。下方峰值列表按强度排序,点某行的「抓包」直接跳到抓包页并把该频点填好。
页面右下「将执行的命令」实时显示底层跑的hackrf_sweep …参数,知道发生了什么。
切到**设备解码(rtl_433)**标签,填频率点「开始解码」,能把周边 ISM 设备(胎压、气象站、门磁、温湿度传感器)直接解成结构化记录。频谱扫描与设备解码共用天线,互斥运行。
抓包
「抓包 / 重放」页录 IQ 文件:
选频率、采样率、时长,点「开始录制」。下方「实时功率」是 dBFS 随时间的曲线,右上角有倒计时。安静时是底噪,目标一发射功率会明显跳升——看到跳升就说明录到了有效信号。右侧抓包库列出所有录制,每条可重放 / 下载.raw/ 删除。
重放
点抓包库里的「重放」弹出发射窗口:
频率和采样率自动回填(采样率锁定为录制值,防止收发不一致解不开)。设 TX 增益,点「确认发射」。发射时弹窗不可关闭(必须先点「停止发射」),其他页面被整页锁定,避免误操作。
固定码遥控(老车库门、便宜遥控插座等)原样重放通常能复现;滚动码一般无效。
发射类功能仅限你自己拥有或获得书面授权的设备。
GPS
「GPS 模拟」页在地图上点坐标发射伪造 GPS 信号:
必须在射频屏蔽箱(法拉第箱)内进行。向开放空间发射 GPS 违法且危险。
- 地图上点击添加坐标(默认高德底图,坐标自动做 GCJ-02→WGS-84 纠偏)
- 右侧「坐标序列」给每个点设海拔和停留时长
- 点「尝试自动获取当天星历」或手动上传 RINEX
.nav - 点「生成并发射」,状态栏分两步显示:步骤 1/2 生成信号中→步骤 2/2 发射中 + 倒计时
单个坐标(推荐先这样验证):生成一段连续文件,发一次即停;建议停留 ≥120 秒、屏蔽箱内、TX 增益调高。多个坐标循环为实验性,接收机通常难以锁定。
参数档
每个操作页都有三层:
- 标准:只露最常用的几项(频率、采样率、时长)
- 高级:展开全部参数(LNA / VGA 增益、带宽、放大器、天线偏置电源、设备选择),每项旁
?有即时说明 - 专家:直接手改「将执行的命令」那行真实命令——经白名单校验(必须是对应工具、禁 shell 特殊字符、文件限定在
captures/目录内),点开始按你写的执行
架构
两进程,HTTP + SSE 通信:
浏览器 ──HTTP+SSE── hackrf_web(:30000) ──HTTP+SSE── RF_Bridge(:30001) ──子进程── hackrf_* / rtl_433 / gps-sdr-sim (只显示,不碰硬件) (独占 HackRF,跑命令、解析输出、推实时流)RF_Bridge 独占硬件,同一时刻只运行一个任务(半双工);hackrf_web 是纯展示层,把/api/*透明代理到 RF_Bridge,不含任何硬件逻辑。
注意
- 接收 / 扫描(频谱、解码)被动,一般合法;发射(重放、GPS)只可用于已授权设备
- GPS 模拟必须在屏蔽箱内,向开放空间发射会干扰周边真实导航与授时,违法且危险
- 无登录鉴权,仅适合局域网可信环境;跨信任边界请自行加反向代理 + 认证
- 子进程一律以 argv 数组执行,不经过 shell;专家模式命令经白名单校验
MIT 开源。