SketchTurnerDev/pluto_siege

GitHub: SketchTurnerDev/pluto_siege

基于 ADALM-Pluto SDR 的 ISM 频段射频信号捕获与重放工具,支持阈值触发录制和 SigMF 格式导出。

Stars: 1 | Forks: 0

PlutoSiege

适用于 ADALM-Pluto 的 ISM 频段 RF 捕获与重放工具

Python License Hardware SigMF Platform

PlutoSiege Banner

## 关于 **PlutoSiege** 是一款终端应用程序 (TUI),用于录制和重放短时间的 ISM 频段 RF 突发信号(例如 433.92 MHz 或 868 MHz 的汽车遥控器、门铃和无线传感器)。 专为 **ADALM-Pluto (AD9363/AD9361)** SDR 打造,它以标准的 **SigMF (Signal Metadata Format)** 格式保存录制内容,因此可以在 GNU Radio 或 Inspectrum 等其他 SDR 工具中打开。 ## 功能 - **电平测量**:带有饱和度 (`SAT!`) 警告的实时 dBFS 电平表。 - **阈值检测**:自动底噪估算或手动阈值设置。 - **预触发缓冲区**:在触发前保留历史数据的环形缓冲区,确保不会漏掉前导码。 - **SigMF 格式**:保存 `.sigmf-meta` 和 `.sigmf-data` 文件对。 - **数字环回测试**:内置测试界面,用于检查硬件环回和 SNR。 - **跨平台**:支持在 Linux、macOS 和 Windows 上运行。 ## 安装说明 ``` git clone https://github.com/SketchTurnerDev/pluto_siege.git cd pluto_siege pip install -r requirements.txt ``` ## 快速开始 通过主脚本启动: ``` python pluto_siege.py ``` 或作为 package 运行: ``` python -m pluto_siege ``` 或以可编辑模式安装: ``` pip install -e . pluto_siege ``` ## 配置参数 设置可以在 TUI 的 **Settings** 界面中进行编辑,并保存到 `settings.json`。 | 参数 | 类型 | 默认值 | 描述 | | :--- | :--- | :--- | :--- | | `pluto_uri` | `str` | `ip:192.168.2.1` | Pluto 连接 URI (`ip:192.168.2.1` 或 `usb:`)。 | | `permit_out_of_spec_frequency` | `bool` | `false` | 允许调谐至 325 MHz – 3.8 GHz 范围之外(最高可达 70 MHz – 6.0 GHz)。 | | `rx_freq` | `int` | `433920000` | 接收器中心频率,单位为 Hz。 | | `tx_freq` | `int` | `433920000` | 发射器中心频率,单位为 Hz。 | | `sample_rate` | `int` | `2000000` | 采样率,单位为 Hz(521 kSPS – 61.44 MSPS)。 | | `rx_gain_mode` | `str` | `manual` | 增益模式 (`manual`、`slow_attack`、`fast_attack`)。 | | `rx_gain` | `float` | `50.0` | 手动 RX 硬件增益,单位为 dB(0.0 至 74.5 dB)。 | | `tx_gain` | `float` | `-50.0` | 手动 TX 衰减增益,单位为 dB(-89.75 至 0.0 dB)。 | | `rx_buffer_size` | `int` | `32768` | DMA 缓冲区大小,单位为采样数(1024 至 32768)。 | | `tx_loops` | `int` | `3` | 发射期间的重放循环次数。 | | `tx_gap_ms` | `float` | `50.0` | 重放循环之间的间隔时间,单位为毫秒。 | | `pre_trigger_buffers` | `int` | `2` | 保存在内存中的预触发缓冲区数量。 | | `silence_seconds` | `float` | `0.30` | 停止录制所需的静音时间。 | | `max_post_trigger_seconds` | `float` | `2.00` | 触发后的最大录制时长。 | | `auto_threshold` | `bool` | `true` | 自动底噪计算。 | | `manual_threshold` | `float` | `-40.0` | 固定的手动阈值,单位为 dBFS。 | ## 许可证 基于 **MIT License** 分发。详情请参阅 [`LICENSE`](file:///c:/Users/egoru/Desktop/pluto_siege/LICENSE)。
标签:ADALM-Pluto, ISM频段, Python, SDR, SigMF, 信号重放, 无后门, 无线电安全, 逆向工具