Skip to content

Latest commit

 

History

History
253 lines (145 loc) · 9.64 KB

File metadata and controls

253 lines (145 loc) · 9.64 KB

十、使用软件定义的无线电

在本章中,我们将介绍以下配方:

  • 射频扫描仪简介
  • 使用 RTLSDR 扫描仪进行实际操作
  • 玩弄gqrx
  • GSM 分接振动装置
  • 使用 Dump1090 解码 ADS-B 消息

介绍

术语软件无线电是指使用软件实现基于硬件的无线电组件,例如调制器、解调器和调谐器。在本章中,我们将介绍不同的方法,并探讨如何使用 RTLSDR 处理频率和通过它传输的数据的多种方法。

射频扫描仪

RTLSDR 是一种非常便宜(约 20 美元)的软件定义无线电,使用 DVB-T 电视调谐器加密狗。在本教程中,我们将介绍如何使用 Kali Linux 连接 RTLSDR 设备,以测试是否成功检测到它。

准备

我们需要一些硬件来制作这个食谱。可从亚马逊或轻松购买 https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/ 。卡利已经为我们准备好了工具。

怎么做。。。

我们连接了我们的设备,它应该在 Kali Linux 中被检测到。这是常见的设备行为不准确。以下是运行测试的方法:

  1. 我们将首先使用以下命令运行测试:
        rtl_test

以下屏幕截图显示了前面命令的输出:

  1. 我们可能会看到一些数据包丢失。这是因为在只有 USB 2.0 的虚拟机设置中尝试了这一点。

  2. 如果丢包较多,我们可以通过rtl_test -s 10000000设置较低的采样率进行测试:

  1. 现在,我们都准备好进入下一个配方,并使用我们的设备。

使用 RTLSDR 扫描仪进行实际操作

RTLSDR 扫描仪是一种跨平台 GUI,可用于频谱分析。它将扫描给定的频率范围,并在频谱图中显示输出。

怎么做。。。

以下是运行rtlsdr-scanner的配方:

  1. 我们将 RTLSDR 连接到系统,并使用以下命令启动扫描仪:
       rtlsdr-scanner

以下屏幕截图显示了前面命令的输出:

  1. 我们应该看到一个新窗口打开,显示该工具的 GUI 界面;在这里,我们只需输入要执行扫描的频率范围,然后单击开始扫描:

  1. 查看频率扫描需要一些时间,然后我们将以图形格式查看结果:

如果应用停止响应,建议您降低范围并选择 Single 作为模式,而不是 continuous。

玩 gqrx

gqrx工具是一个开源软件定义无线电SDR)接收器,由 GNU 无线电和 Qt 图形工具包供电。

它有许多功能,例如:

  • 发现连接到计算机的设备
  • 处理 I/Q 数据
  • AM、SSB、CW、FM-N 和 FM-W(单声道和立体声)解调器
  • 在 WAV 文件中录制和播放音频
  • 记录和回放原始基带数据
  • UDP 上的流式音频输出

在本食谱中,我们将介绍gqrx和另一个工具 RTLSDR 的基础知识。

怎么做。。。

以下是使用gqrx的配方:

  1. 我们可以使用以下命令安装gqrx
        apt install gqrx  
  1. 完成后,我们通过键入gqrx来运行该工具。
  2. 我们从打开的窗口中的下拉菜单中选择设备,然后单击“确定”:

  1. 现在 GQRX 应用打开,在 receiver 窗口的右侧,我们选择要查看的频率。然后我们转到文件并单击开始 DSP:

  1. 现在我们看到一个瀑布,我们应该开始听到扬声器中的声音。我们甚至可以使用 Receiver Options(接收器选项)窗口中的 up(向上)和 down(向下)按钮更改正在收听的频率:

  1. 我们将看一个汽车钥匙遥控器的例子,它用于锁定/解锁汽车。
  2. 按下按钮几次后,我们将看到瀑布中的变化,显示信号的差异:

  1. 我们可以在记录窗口中记录信号,然后保存它。这可以在以后解码,并使用收发器将其发送回汽车解锁。

  2. 要捕获443MHz 的数据,我们可以使用以下命令:

        rtl_sdr -f 443M - | xxd

以下屏幕截图显示了前面命令的输出:

还有更多。。。

欲了解更多关于gqrx的信息,请访问以下博客:

GSM 分接振动装置

RTLSDR 还允许我们使用名为kalkalibrate-rtl的工具查看 GSM 流量。此工具可以在一个频带内扫描 GSM 基站。在本食谱中,我们将学习使用 kalibrate,然后确认gqrx中的通道。

怎么做。。。

以下是使用 kalibrate 的步骤:

  1. 大多数国家使用 GSM900 频段。在美国是 850。我们将使用以下命令扫描 GSM 基站:
        kal -s GSM900 -g 40  

以下屏幕截图显示了前面命令的输出:

  1. 几分钟后,它将向我们显示基站列表:

  1. 我们注意到频率;在本例中,我们将使用947.6 MHz和偏移量。

  2. 现在,我们打开 GQRX 并在 Receiver Options(接收器选项)窗口中输入它:

  1. 我们可以从瀑布中看到,该设备能够完美地捕捉信号。

  2. 现在我们将在数据包级别查看这些数据。我们将使用名为gr-gsm的工具。

  3. 可使用 apt 安装gr-gsm进行安装:

  1. 完成后,如果我们键入grgsm_并按下Tab键,我们将看到可供我们使用的不同工具的列表:

  1. 首先,我们将使用grgsm_livemon实时监控 GSM 数据包。我们将打开终端并键入grgsm_livemon

  1. 在打开的新窗口中,我们将使用 kalibrate 切换到前面步骤中捕获的频率:

  1. 我们可以通过在图形窗口上拖动和选择区域来放大特定范围。

  2. 在新的终端窗口中,我们通过键入wireshark来启动 Wireshark。

  3. 然后,我们将适配器设置为 Loopback:lo 并开始数据包捕获:

  1. 接下来,我们添加过滤器gsmtap

  1. 我们应该在信息窗口中看到数据包。我们应该看到标签系统信息类型为 3 的数据包;让我们打开它:

  1. 我们将看到系统信息,如移动国家代码、网络代码和位置区号:

  1. 现在,通过这个配方,我们了解了 GSM 数据包是如何传输的。

还有更多。。。

以下是一些很棒的视频,让您更好地了解 GSM 嗅探:

使用 Dump1090 解码 ADS-B 消息

ADS-B 代表自动相关监视广播**。这是一个系统,飞机上的电子设备通过数字数据链路自动广播飞机的精确位置。**

**如该工具的官方自述文件所述,Dump1090 是专为 RTLSDR 设备设计的 S 模式解码器。

其主要特点是:

  • 弱消息的鲁棒解码。与其他流行的解码器相比,使用 mode1090,许多用户观察到范围有所改进。
  • 网络支持-TCP30003 流(MSG5),原始数据包,HTTP。
  • 嵌入式 HTTP 服务器,在谷歌地图上显示当前检测到的飞机。
  • 使用 24 位 CRC 进行单位错误校正。
  • 能够解码 DF11 和 DF17 消息。
  • 能够解码 DF 格式,如 DF0、DF4、DF5、DF16、DF20 和 DF21,其中校验和通过使用 ICAO 地址强制校验和字段与 ICAO 地址异或,我们已经介绍过。
  • 从文件中解码原始 IQ 样本(使用--ifile命令行开关)。
  • 交互式 CLI 模式,其中当前检测到的飞机显示为列表,随着更多数据的到达而刷新。
  • CPR 坐标解码和速度轨迹计算。
  • TCP 服务器向连接的客户端发送数据流,并从连接的客户端接收原始数据(使用--net

在本食谱中,我们将使用该工具以视觉方式查看空中交通。

怎么做。。。

以下是使用 Dump1090 的步骤:

  1. 我们可以使用命令git clone https://github.com/antirez/dump1090.git从 Git repo 下载该工具:

  1. 下载后,我们进入文件夹并运行make
  2. 我们现在应该有一个可执行文件。我们可以使用以下命令运行该工具:
        ./dump1090 --interactive -net

以下屏幕截图显示了前面命令的输出:

  1. 再过几分钟,我们就可以看到航班了,打开http://localhost:8080浏览器,我们也可以看到地图上的航班。

还有更多。。。

更多信息可从了解 https://www.rtl-sdr.com/adsb-aircraft-radar-with-rtl-sdr/ 。**