建立一个无线电收听站来解码数字音频和警察派遣

2017 年 4 月 7 日,得克萨斯州达拉斯市的居民被全城响起的紧急警报声惊醒。没有人可以关闭它们,经过反复努力控制局势,该市不得不关闭整个系统。虽然媒体报道了复杂的计算机黑客行为是罪魁祸首,但事实并非如此高科技。

达拉斯的警报器由一系列未加密的无线电信号控制,任何人都可以使用合适的设备广播它们。事实证明,有人只是在测试或真正的紧急情况期间收听了无线电信号,触发了警报器响起,然后再播放。这种低技术黑客设法使用信号智能原理通过无线电波控制系统。

但是,人们如何嗅探无线电信号,然后使用它们来控制系统或与系统交互?

诸如车库门开启器、车钥匙和明显的紧急警报器之类的东西都是由无线电频率控制的,这些无线电频率可以被窃听、解码,甚至只是简单地重新广播以触发相同的效果。在本系列中,我们将学习检测和收听这些隐藏的无线电频率,然后转播或传输它们——在35 美元的 Raspberry Pi 上,不少于。
开始使用便携式收音机收听台
此版本将教您检测您习惯于在汽车或商用 FM 收音机上调谐到的“正常”FM 频段之外的本地无线电信号。我们将创建一个便携式收听站来探索 VHF(甚高频)和 UHF(超高频)频谱,并解码数字音频数据以了解您周围世界的声音。

在这里插入图片描述

我发现的隐藏无线电频率的示例。
这将开始我们关于信号情报 (SIGINT) 的系列,它是分析信号以辨别目标情报。当然,分析信号的第一步是能够听到它,因此我们需要深入讨论软件定义无线电 (SDR) 和我们将从中提取信号的无线电频谱。
无线电频谱
无线电频率中一直有一种无形的对话在我们周围进行。虽然我们看不到它,但我们绝大多数通过无线电频谱传输我们文明的无线数据。
可见光位于 430-770 THz 之间的光谱上,这是我们的生物眼睛可以感知的。但是在 1 GHz 以下的范围内,我们的大部分无线电通信都处于以下状态,包括 FM 无线电以及执法部门和急救人员之间的通信。

如果你能窥视这个频谱并理解你的生物体不是为了感知而构建的信号,那不是很好吗?
在这里插入图片描述
无线电频谱的基础知识。
图片来自美国宇航局
无线电频谱很大,因此为避免迷路,本指南将非常具体。然而,还有很多东西需要探索,而本指南只是一个开始。如果您对收到的信号感到好奇,如果您在美国,您可以随时参考这张方便的图表。在本指南中,我们将在 24 MHz 至 1.7 GHz 范围内运行。
收集材料
要完成本教程,您需要一个 SDR 加密狗和天线来接收和转换信号。您还需要软件来解释无线电信号以及另一个软件来解码数字语音。

软件定义的无线电接收器
SDR 将通常由晶体或本地振荡器完成的无线电调谐部分改为通过软件来完成。这种系统的基本要求是个人计算机(或树莓派)、声卡或信号处理器,以及接收信号的射频接收器。因此,许多由专用硬件完成的过程现在由计算机完成,使得整个无线电系统成本非常低且非常灵活。

RTL-SDR团队创建了一个非常便宜的软件定义无线电接收器,它使用基于 RTL2832U 芯片组的DVB-T电视调谐器加密狗,他们编写了一个新的软件驱动程序来直接访问信号数据。他们的 SDR 套件让您只需 25 美元即可启动并运行。

如果您喜欢,其他选择是169 美元的 Airspy R2或149 美元的 SDRPlay。虽然这些当然很好,但我更喜欢低成本、开源和常用的黑客工具,所以我们将专注于 RTL-SDR。
在这里插入图片描述
使用我们的室外监控设置来吸收一些信号。
图片来自 SADMIN/Null Byte

我使用了一个RTL-SDR 和两个可调天线,但任何可以调谐到 400-600 MHz 范围内的 SDR 套件应该都可以。本教程将在我们的 SDR 广播节目中使用 RTL-SDR 作为选择器;您可能需要修改它们以使不同的适配器工作。

SDR 软件
接下来,我们将需要软件来解释无线电信号。在设法让它在 macOS Sierra 和 Kali Linux 上运行之后,开源GQRX是我的首选工具。本指南将涵盖 macOS。但是,我将在另一次介绍在 Raspberry Pi 上安装 Kali,因为它需要很多依赖项,并且需要声卡才能正常工作。macOS 构建更简单。
在这里插入图片描述
Kali 中有很多依赖项。
图片来自 SADMIN/Null Byte
数字语音解码器
我的 macOS 监听后构建依赖于解码我们实时拦截的数字数据以监听对话的能力。为此,我们将专注于我们希望拦截的一种常见信号类型——数字音频。

数字音频构成了一种感兴趣的信号,因为它经常被警察和安全组织用于通信,并且由于经过编码通常不加密。当然,这很愚蠢,因为编码很容易被破坏。

在我所在的城市,除了战术频道外,警察不加密调度,它只是编码为数字音频,所以我们将使用DSD实时破解密码并监听他们的通信。为此,我们通过 UDP(用户数据报协议)将音频流式传输到在 GQRX 下方的终端窗口中运行的 DSD,该窗口对数字音频进行解码。
在这里插入图片描述
解码一些数字音频。
图片来自 SADMIN/Null Byte

有人可能会指出,在某些网站上,您可以流式传输这些类型的信号,这些信号由某人使用昂贵的昂贵收音机解码并以数字方式流式传输。太好了,但是流来自通过互联网提供的第三方。来源您自己的数据。对于 SDR 调谐器和运行它的软件的成本,您可以针对您所在地区的特定机构进行数据收集。

第2步安装 GQRX
GQRX,如​​上图在 Kali 中所示,需要大量的依赖项。想要编译它们几个小时?我也没有,所以我们将使用MacPorts安装它们。Homebrew也提供了一个版本,但我很失望地发现它不能正常工作。

首先,MacPorts。前往 MacPorts 主页并下载适当的版本,确保您已下载并安装Xcode和Xcode Command Line Tools。一旦 Xcode 准备就绪,通过指导安装安装 MacPorts,您应该准备好开始安装 GQRX。

第 3 步运行 GQRX
为确保一切都是最新的,请通过在终端中键入以下内容来更新 MacPorts:

须藤端口自我更新

现在,战斗开始。要下载并安装 GQRX 的所有依赖项,请输入:

须藤端口安装 gqrx

安装时可能会出错,就像我一样。对于我的 Mac,这需要六次尝试。每次我在出现错误并不得不重新启动命令之前咀嚼更多的依赖项时,每次依赖项列表变小直到最后,它们都被安装了。最终,您的决心将打败机器,您将完成安装依赖项的完整列表。

安装完成后,通过在终端中键入以下内容来运行 GQRX:
在这里插入图片描述
在 macOS 上安装 GQRX 后成功启动屏幕。

使用 DSD 解码数字音频
要安装 DSD,我们需要安装 Homebrew,因为当然,它在 MacPorts 中不可用。感谢 Hugh Dev,有一种很好的文档记录方式可以通过 Homebrew安装语音解码器。

要安装 Homebrew,请在终端中运行以下命令(如果看到巨大的空格,请忽略它们,它们每个只有一个空格):

ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )”

完成后,我们可以安装DSD。在终端中运行以下命令来安装 DSD:

brew install git cmake libsndfile itpp portaudio
brew install --HEAD mbelib

git 克隆https://github.com/szechyjs/dsd.git

cd dsd & mkdir build && cd build

制作

须藤制作安装

运行“dsd -a”以查看可用音频源列表。稍后我们也需要它来连接来自接收器的音频。在这种情况下,它非常简单。

伟大的!现在我们可以使用这些将无线电数据传输到 DSD。

第 5 步使用 RTL-SDR 配置 GQRX
如果您尝试在启用了错误设置的情况下在 GQRX 中开始捕获,它可能会崩溃。单击硬件配置选项卡(屏幕左上角“播放”符号旁边的绿色芯片图标)并输入配置以匹配以下配置。

I/Q 输入:

设备:其他…
设备字符串:rtl=0
输入率:1800000
抽取:无
采样率:1.800 Msps
带宽:2.700000 MHz
LNB LO:0.000000 MHz
音频输出:

设备:内置输出
采样率:48 kHz
一旦您的配置与我的匹配,请单击“确定”,然后插入已部署天线的 RLT-SDR。由于我做的一些事情,我会提醒您将音频调低,取出任何耳机,并将增益调低。

接下来,单击播放按钮开始捕获。

在这种情况下,我正在检测从附近 Raspberry Pi 的 GPIO 引脚发送的无线电信号。
第 6 步从我们的监听站捕获未编码的音频
如果一切顺利,我们就有了 RTL-SDR 可以调整到的整个频谱。为了练习,调到 88 到 102 MHz 之间的频道,这是 FM 收音机的标准范围。将“模式”设置为 FM 单声道(或立体声,取决于哪个听起来更好),然后单击您可以在该范围内看到的强信号。您应该听到音频播放。你正在收听公共广播。上下探索频率以开始查找其他未编码的广播,使用上述指南了解您找到的信号。

基于 RLT-SDR 的室内 GQRX 软件定义无线电收听站,屏幕上可以看到未编码的 FM 广播波形。
图片来自 SADMIN/Null Byte
第 7 步查找编码音频进行解码
查找您所在地区的紧急服务使用的频率并导航到该组频率。如果你像我一样住在一个城市,它应该被看起来像数据“瀑布”而不是 FM 传输波形的传输点亮。在这些频率中,您可能会发现未编码的调度频率和私人保安公司的双向无线电通信,但您必须切换模式才能听到。

切换“模式”以缩小 FM 并尝试调谐到未编码的音频流(如果可用)。如果不是,则瞄准一个看起来像下图中的瀑布。在音频窗口中选择“UDP”选项,如下图蓝色所示,将我们的音频输出到 DSD。

在这里,我们从最右侧的数字音频源采样,而我们看到另一个数字音频信号从它的左侧开始,位于 482.59。
图片来自 SADMIN/Null Byte
寻找打开和关闭的流。永远在线的流通常是中继中继单元或其他与物流相关的数据传输,它们不是我们可以解码的人声。一旦你找到一个有前途的,让我们试着解码它。

在工作站锁定并选择 UDP 的情况下,在终端中运行以下命令以检查输出是否有效。

nc -u -l 本地主机 7355

如果是,请运行以下命令开始解码数字语音,pa:1是我们之前找到的输出设备的编号。

nc -l -u 本地主机 7355 | dsd -i - -o pa:1

当从空中接收数据包时,它们将显示在 DSD 中。

成功拦截来自紧急服务的数字音频。
图片来自 SADMIN/Null Byte
上图中的数据包表示数字语音传输被实时拦截和解码。

第 8 步从坏信号中挤出语音
有些信号不会发出声音,因为它们是加密的(而不是编码的)或需要一些调整才能锁定。尝试缩小或扩大滤波器,调整增益或静噪,或者提高或降低频谱以使语音流开始通过 DSD。在天线放置上要有创意,并注意接收的差异以响应您所做的事情或放置的位置。

图片来自 SADMIN/Null Byte
此版本使您能够扫描通常不可见的频谱,并开始倾听那些可能认为他们正在私下交流的人。虽然解码无线电广播在美国是合法的,但当我们使用手机和 Wi-Fi 传输时,事情就变得有趣了。

请务必查看我的后续指南,在那里我只需添加一根电线即可在无线电频谱中查看来自 Raspberry Pi 的广播信号。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GoLang.fmt

感谢老板打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值