Radio

支持 HackTricks

SigDigger

SigDigger 是一个免费的数字信号分析仪,适用于 GNU/Linux 和 macOS,旨在提取未知无线电信号的信息。它通过 SoapySDR 支持多种 SDR 设备,并允许可调的 FSK、PSK 和 ASK 信号解调,解码模拟视频,分析突发信号并实时收听模拟语音通道。

基本配置

安装后,有一些您可以考虑配置的内容。 在设置(第二个选项卡按钮)中,您可以选择 SDR 设备选择一个文件 进行读取,以及要调谐的频率和采样率(如果您的 PC 支持,建议最高可达 2.56Msps)\

在 GUI 行为中,如果您的 PC 支持,建议启用一些选项:

如果您发现您的 PC 没有捕获到信号,请尝试禁用 OpenGL 并降低采样率。

用途

  • 只需 捕获某个信号的时间并分析它,只需按住“推送以捕获”按钮,直到您需要的时间。

  • SigDigger 的 调谐器 有助于 捕获更好的信号(但也可能会降低信号质量)。理想情况下,从 0 开始,继续 增大,直到您发现引入的 噪声 大于您所需的 信号改善

与无线电频道同步

使用 SigDigger 与您想要收听的频道同步,配置“基带音频预览”选项,配置带宽以获取所有发送的信息,然后将调谐器设置到噪声真正开始增加之前的水平:

有趣的技巧

  • 当设备发送信息突发时,通常 第一部分是前导码,因此您 不必担心 如果您 没有找到信息那里有一些错误

  • 在信息帧中,您通常应该 找到不同的帧彼此对齐

  • 在恢复位后,您可能需要以某种方式处理它们。例如,在曼彻斯特编码中,上+下将是 1 或 0,下+上将是另一个。因此,成对的 1 和 0(上和下)将是真实的 1 或真实的 0。

  • 即使信号使用曼彻斯特编码(不可能找到连续的两个 0 或 1),您也可能会在前导码中 发现多个 1 或 0

使用 IQ 揭示调制类型

有 3 种方式在信号中存储信息:调制 幅度频率相位。 如果您正在检查信号,有不同的方法可以尝试找出用于存储信息的方式(更多方法见下文),但一个好的方法是检查 IQ 图。

  • 检测 AM:如果在 IQ 图中出现例如 2 个圆圈(可能一个在 0,另一个在不同的幅度),这可能意味着这是一个 AM 信号。这是因为在 IQ 图中,0 和圆圈之间的距离是信号的幅度,因此很容易可视化使用的不同幅度。

  • 检测 PM:如前图所示,如果您发现小圆圈彼此无关,这可能意味着使用了相位调制。这是因为在 IQ 图中,点与 0,0 之间的角度是信号的相位,这意味着使用了 4 种不同的相位。

  • 请注意,如果信息隐藏在相位变化的事实中,而不是在相位本身中,您将不会看到不同的相位清晰区分。

  • 检测 FM:IQ 没有识别频率的字段(到中心的距离是幅度,角度是相位)。 因此,要识别 FM,您应该 在此图中基本上只看到一个圆。 此外,不同的频率通过 IQ 图以 沿圆的速度加速 来“表示”(因此在 SysDigger 中选择信号时,IQ 图被填充,如果您发现创建的圆中的加速或方向变化,这可能意味着这是 FM):

AM 示例

52MB
sigdigger_20220308_165547Z_2560000_433500000_float32_iq.raw

揭示 AM

检查包络

使用 SigDigger 检查 AM 信息,仅查看 包络,您可以看到不同的清晰幅度级别。所用信号以 AM 发送脉冲信息,这就是一个脉冲的样子:

这就是符号的一部分与波形的样子:

检查直方图

您可以 选择信息所在的整个信号,选择 幅度 模式和 选择,然后单击 直方图。您可以观察到仅发现 2 个清晰的级别

例如,如果您在此 AM 信号中选择频率而不是幅度,您只会找到 1 个频率(没有信息调制在频率上仅使用 1 个频率)。

如果您发现很多频率,这可能不会是 FM,可能信号频率只是因为通道而被修改。

使用 IQ

在此示例中,您可以看到有一个 大圆,但也有 很多点在中心

获取符号率

使用一个符号

选择您能找到的最小符号(以确保它只是 1),并检查“选择频率”。在这种情况下,它将是 1.013kHz(即 1kHz)。

使用一组符号

您还可以指示要选择的符号数量,SigDigger 将计算 1 个符号的频率(选择的符号越多,可能越好)。在这种情况下,我选择了 10 个符号,“选择频率”为 1.004 kHz:

获取位

发现这是一个 AM 调制 信号和 符号率(并且知道在这种情况下上升意味着 1,下降意味着 0),非常容易 获取信号中编码的位。因此,选择包含信息的信号并配置采样和决策,然后按下采样(检查 幅度 是否被选中,发现的 符号率 是否已配置,以及 Gadner 时钟恢复 是否已选中):

  • 同步到选择间隔 意味着如果您之前选择了间隔以找到符号率,则将使用该符号率。

  • 手动 意味着将使用指示的符号率

  • 固定间隔选择 中,您指示应选择的间隔数量,并从中计算符号率

  • Gadner 时钟恢复 通常是最佳选项,但您仍需指示一些近似的符号率。

按下采样后,出现以下内容:

现在,为了让 SigDigger 理解 信息承载水平的范围,您需要单击 较低水平 并保持按住,直到达到最高水平:

如果例如有 4 个不同的幅度级别,您需要将 每个符号的位数配置为 2,并从最小值选择到最大值。

最后 增加 缩放更改行大小,您可以看到位(您可以选择所有并复制以获取所有位):

如果信号每个符号有超过 1 位(例如 2),SigDigger 无法知道哪个符号是 00、01、10、11,因此它将使用不同的 灰度 来表示每个(如果您复制位,它将使用 0 到 3 的数字,您需要处理它们)。

此外,使用 编码曼彻斯特,上+下可以是 1 或 0,下+上可以是 1 或 0。在这些情况下,您需要 处理获得的上升(1)和下降(0),以替换成对的 01 或 10 为 0 或 1。

FM 示例

64MB
sigdigger_20220308_170858Z_2560000_433500000_float32_iq.raw

揭示 FM

检查频率和波形

发送信息调制为 FM 的信号示例:

在前面的图像中,您可以很好地观察到 使用了 2 个频率,但如果您 观察 波形,您可能 无法正确识别 2 个不同的频率

这是因为我在两个频率上捕获了信号,因此一个大约是另一个的负值:

如果同步频率 更接近一个频率而不是另一个,您可以轻松看到 2 个不同的频率:

检查直方图

检查带有信息的信号的频率直方图,您可以轻松看到 2 个不同的信号:

在这种情况下,如果您检查 幅度直方图,您将发现 只有一个幅度,因此 不能是 AM(如果您发现很多幅度,可能是因为信号在通道中失去了功率):

这将是相位直方图(这清楚表明信号不是相位调制):

使用 IQ

IQ 没有识别频率的字段(到中心的距离是幅度,角度是相位)。 因此,要识别 FM,您应该 在此图中基本上只看到一个圆。 此外,不同的频率通过 IQ 图以 沿圆的速度加速 来“表示”(因此在 SysDigger 中选择信号时,IQ 图被填充,如果您发现创建的圆中的加速或方向变化,这可能意味着这是 FM):

获取符号率

您可以使用 与 AM 示例中使用的相同技术 来获取符号率,一旦您找到了承载符号的频率。

获取位

您可以使用 与 AM 示例中使用的相同技术 来获取位,一旦您 发现信号是频率调制的符号率

Last updated