本文主要用于 GSM、软件无线电(SDR)和无线通信安全研究,重点介绍 GSM 信号捕获、协议分析以及加密机制的工作原理。

涉及无线电接收、通信数据分析或主动发射时,应遵守所在地的法律法规,并仅在自有、隔离或明确获得授权的实验环境中进行。

一、前言#

GSM(Global System for Mobile Communications)是第二代移动通信系统。虽然许多国家和地区已经陆续关闭 2G 网络,但 GSM 仍然具有重要的研究价值。

对于无线通信安全研究人员来说,GSM 是一个非常适合学习的软件无线电案例。

它同时涉及:

  • 无线电通信
  • 数字信号处理
  • 软件无线电
  • TDMA
  • GSM 协议
  • 蜂窝网络信令
  • 身份认证
  • 空口加密
  • 密码学

经典的 GSM SDR 研究流程可以概括为:

                    GSM 网络
                    无线信号
                      SDR
                   IQ Samples
                 GSM 信号处理
                   GSM Burst
                  TDMA Frame
                 GSM Channel
                    GSMTAP
                   Wireshark
                  协议分析
                  A5/x 加密分析

需要注意的是,这并不是一个简单的“SDR 破解 GSM”的过程。

SDR 主要负责接收和处理无线信号,而 GSM 解调工具负责从 IQ 数据中恢复 GSM 数据,Wireshark 负责协议分析,密码学部分则负责处理 GSM 的空口加密。


二、GSM 是什么?#

GSM 是一种数字蜂窝移动通信标准。

与 LTE、5G 等现代移动通信系统相比,GSM 的无线接口结构相对简单,主要建立在:

  • FDMA
  • TDMA
  • GMSK
  • GSM 逻辑信道
  • GSM 物理信道
  • GSM 专用信令协议

之上。

GSM 使用 TDMA(Time Division Multiple Access,时分多址)。

一个 GSM TDMA Frame 可以简单表示为:

┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
│ TS0 │ TS1 │ TS2 │ TS3 │ TS4 │ TS5 │ TS6 │ TS7 │
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

每一个时隙(Timeslot)都可以承载 GSM 的一个 Burst。

不同的逻辑信道会使用不同的物理资源。

因此,GSM 并不是简单的连续数据流,而是一套具有严格时间结构的无线通信系统。


三、GSM SDR 的基本工作原理#

使用 SDR 研究 GSM 时,可以将整个过程分为几个层次。

无线电信号
IQ 数据
GMSK 解调
GSM Burst
TDMA Frame
信道解码
GSM 协议数据
GSMTAP
Wireshark

每一层解决的问题都不一样。

例如:

SDR:

如何把无线电信号转换成计算机能够处理的数据?

GSM 解调:

如何从 IQ 数据中恢复 GSM Burst?

协议解析:

这些 Burst 属于什么 GSM 信道和协议?

Wireshark:

如何进一步观察 GSM 协议字段?

A5/x:

如果空口数据启用了加密,该如何理解其安全机制?


四、SDR 与 IQ 数据#

SDR(Software Defined Radio,软件无线电)的核心思想,是尽可能把传统无线电设备中的信号处理过程交给软件完成。

一个简化的 SDR 结构如下:

天线
射频前端
ADC
I/Q Samples
计算机

SDR 输出的数据通常是 I/Q(In-phase / Quadrature)采样。

需要注意:

IQ 数据本身并不是短信、电话号码或者语音。

例如:

IQ 数据
SMS
电话号码
语音

IQ 更接近于无线电波形的数字化记录。

后续还需要进行:

  • 频率处理
  • 同步
  • 解调
  • Burst 检测
  • 信道解码
  • 协议解析

才能逐渐恢复 GSM 数据。


五、GMSK 调制#

GSM 主要使用 GMSK(Gaussian Minimum Shift Keying,高斯最小频移键控)调制。

可以简单理解为:

数字数据
GMSK 调制
无线电波形

接收过程则相反:

无线电波形
IQ 数据
GMSK 解调
符号 / Bit

因此 SDR GSM 研究本质上也涉及数字信号处理。


六、ARFCN#

GSM 使用 ARFCN(Absolute Radio Frequency Channel Number)标识无线信道。

可以简单理解为:

GSM 频段
ARFCN
对应无线频率

在授权实验环境中,分析 GSM 信号时通常需要关注:

  • ARFCN
  • BSIC
  • BCCH
  • TDMA Frame Number
  • Timeslot
  • Channel Type
  • Frequency Hopping

ARFCN 只是其中一个参数。

因此:

“找到一个 GSM 频率”并不等于已经完全理解了一个 GSM 小区。


七、FCCH、SCH 与 BCCH#

GSM 小区存在多种重要的控制信道。

其中比较重要的包括:

  • FCCH
  • SCH
  • BCCH

它们承担不同的功能。

一个简化的理解方式是:

FCCH
频率同步
SCH
同步 / 小区相关信息
BCCH
系统广播信息

BCCH(Broadcast Control Channel)尤其重要。

基站会通过 BCCH 广播小区相关的信息,使移动设备能够了解当前小区的配置。

因此 GSM SDR 接收机通常需要先解决:

  1. 频率同步;
  2. 时间同步;
  3. 小区识别;
  4. 系统信息获取。

八、GSM Burst#

GSM 的无线数据不是直接以普通 IP Packet 的形式发送。

在物理层,它以 Burst 的形式进行传输。

一个普通 Burst 可以抽象为:

┌──────────┬──────────────┬──────────┬──────────┐
│ Payload  │ Training Seq │ Payload  │  Guard   │
└──────────┴──────────────┴──────────┴──────────┘

实际 Burst 类型会有所不同。

Training Sequence(训练序列)对于同步和信道估计非常重要。

因此 SDR 软件需要从无线波形中寻找正确的 Burst,并恢复其时间关系。


九、TDMA Frame Number#

GSM 使用 TDMA Frame Number 标识时间结构。

它并不是简单的网络数据包编号。

Frame Number 在 GSM 的无线通信和安全机制中都具有重要作用。

例如在 GSM 空口加密过程中,Frame Number 就是重要的输入参数之一。

可以简单表示为:

TDMA Frame
 ├── Timeslot 0
 ├── Timeslot 1
 ├── Timeslot 2
 ├── ...
 └── Timeslot 7

因此,在 GSM SDR 研究中,正确恢复 TDMA 时间结构非常重要。


十、gr-gsm#

gr-gsm 是一个基于 GNU Radio 的 GSM 软件无线电工具集。

它位于:

SDR
GNU Radio
gr-gsm
 ├── 同步
 ├── GSM 解调
 ├── Burst 处理
 ├── 信道解码
 └── GSM 数据输出

因此,gr-gsm 并不是简单的“抓包工具”。

它实际上承担了从:

IQ

到:

GSM 数据

之间的大量处理工作。


十一、GSMTAP#

GSMTAP 是 GSM SDR 分析流程中非常重要的一层。

它可以理解成:

将已经解码的 GSM 信息以适合协议分析工具处理的形式传递出去。

典型结构:

┌──────────────┐
│     SDR      │
└──────┬───────┘
┌──────────────┐
│    gr-gsm    │
└──────┬───────┘
┌──────────────┐
│    GSMTAP    │
└──────┬───────┘
┌──────────────┐
│   Wireshark  │
└──────────────┘

因此:

Wireshark 所看到的 GSM 数据,已经不是最初的无线电 IQ 数据。

它已经经历了多个处理阶段。


十二、Wireshark#

Wireshark 是一个网络协议分析工具。

在 GSM SDR 环境中,它可以用于分析已经解码的 GSM 协议数据。

可能涉及的协议包括:

GSM
 ├── RR
 ├── MM
 ├── CC
 ├── DTAP
 └── SMS

Wireshark 的作用主要是:

  • 协议解析
  • 字段查看
  • 数据包过滤
  • Frame 分析
  • 信令分析
  • 协议层关联

因此需要明确:

Wireshark 本身不是 GSM 破解工具。

它更适合作为 GSM 协议分析器。


十三、GSM 信令#

GSM 包含多个重要的信令协议层。

13.1 RR#

RR(Radio Resource)主要负责无线资源管理。

例如:

  • 无线信道管理
  • 小区相关操作
  • 无线测量
  • 移动性相关信令

13.2 MM#

MM(Mobility Management)主要处理移动性管理和用户身份相关过程。


13.3 CC#

CC(Call Control)主要用于电路交换呼叫相关信令。


13.4 SMS#

SMS 相关消息可以通过 GSM 信令信道传输。

因此:

SMS

并不是一个独立于 GSM 协议体系之外的东西。


十四、GSM 空口加密#

GSM 可以对无线接口上的通信进行加密。

简单表示:

明文
GSM Ciphering
密文
无线传输

因此 SDR 捕获到无线信号之后,即使已经完成:

同步
解调
Burst 解码

也不一定直接得到明文。

可能得到的是:

GSM Frame
Ciphered Payload

这就是 SDR 和密码学之间的分界点。


十五、Kc 是什么?#

Kc 是 GSM 空口加密过程中使用的会话密钥。

需要注意几个容易混淆的概念:

参数 作用
IMSI 用户永久身份标识
TMSI 临时用户身份标识
Ki 与用户认证相关的长期秘密
Kc GSM 会话相关的加密密钥
A5/x GSM 空口加密算法

因此:

IMSI ≠ TMSI
TMSI ≠ Kc
Ki ≠ Kc

知道 IMSI 或 TMSI 并不意味着自动知道 Kc。


十六、A5/x 加密算法#

GSM 并不存在一个唯一的“GSM 加密算法”。

A5 家族包含多个不同的算法。

常见的包括:

A5/0
A5/1
A5/2
A5/3
A5/4

可以简单理解为:

算法 说明
A5/0 不进行空口加密
A5/1 早期 GSM 加密算法
A5/2 历史上的弱化算法
A5/3 基于 KASUMI 的加密方案
A5/4 A5 系列的扩展方案

因此不能简单认为:

GSM = A5/1。

实际使用的算法取决于具体网络和会话。


十七、为什么老 GSM Hacking 教程经常讲 A5/1?#

A5/1 是 GSM 安全研究历史中非常重要的算法。

原因包括:

  • 历史部署范围较广;
  • 存在大量公开密码分析研究;
  • 存在针对 A5/1 的时间-空间权衡研究;
  • 曾出现 Rainbow Table 等研究工具;
  • 被广泛用于 GSM 安全教学。

因此很多经典教程都会把:

GSM
A5/1
Kc
解密

作为演示流程。

但这个流程不能代表所有 GSM 网络。


十八、Kc 与 Frame Number#

GSM 空口加密不是简单的:

密文 + Kc

加密过程还涉及:

  • Kc
  • Frame Number
  • 通信方向
  • A5/x 算法

可以抽象为:

             Kc
       ┌─────────────┐
       │    A5/x     │
       └──────┬──────┘
       Frame Number
       Direction
        Cipher Stream

因此,正确的 GSM 同步和 Frame Number 恢复对于安全分析也非常重要。


十九、Frequency Hopping#

GSM 支持 Frequency Hopping(频率跳变)。

例如:

Frame 1 → F1
Frame 2 → F4
Frame 3 → F2
Frame 4 → F7
Frame 5 → F3

如果 SDR 始终只监听一个频率:

SDR
F1

就可能无法获得完整的通信过程。

因此研究复杂 GSM 网络时,还需要考虑:

宽带 IQ
信道化
 ├── ARFCN 1
 ├── ARFCN 2
 ├── ARFCN 3
 └── ...
频率跳变分析

这也是实际 GSM SDR 分析比简单“调到一个频率”复杂的原因之一。


二十、语音和 SMS 的区别#

“成功解码 GSM”并不意味着可以直接得到电话录音。

SMS 和语音使用不同的协议和信道。

语音大致涉及:

语音
Speech Codec
GSM Traffic Channel
Ciphering
无线传输

因此,即使完成 GSM 信令分析,也还需要进一步处理语音 Traffic Channel 和对应的语音 Codec。


二十一、经典三星 Modem 方法#

一些经典 GSM 安全研究文章使用过特定三星手机的 Modem 调试接口。

其历史结构大致可以理解为:

三星手机
USB Modem Interface
Modem / Diagnostic Interface
调试信息
GSM 会话相关参数

在特定历史设备和固件环境下,研究人员可以利用这些接口获取基带相关信息。

这些信息随后可以用于研究 GSM 会话和空口加密。


二十二、为什么这个方法现在已经过时?#

这是旧教程中最需要注意的一部分。

这种方法高度依赖:

  • 特定三星型号;
  • 特定基带;
  • 特定固件;
  • 特定 USB 接口;
  • 特定调试功能;
  • 当时存在的漏洞或设计缺陷。

因此不能理解为:

任何 Android 手机
USB
AT 命令
Kc

现代手机通常采用更加封闭的基带架构:

┌──────────────────────┐
│ Application Processor│
└──────────┬───────────┘
           │ IPC
┌──────────────────────┐
│       Baseband       │
└──────────┬───────────┘
      SIM / eSIM

因此,老款三星手机的 Modem 调试方法更适合被视为:

GSM 安全研究历史中的一个案例。

而不是现代 GSM 的通用 Kc 获取方法。


二十三、2016 年 GSM Hacking 教程哪些内容已经过时?#

可以总结如下:

技术 / 方法 2026 状态 说明
SDR 捕获 IQ 🟢 仍然有效 SDR 基础技术
GSM GMSK 🟢 仍然有效 GSM 物理层
TDMA Frame 🟢 仍然有效 GSM 核心结构
ARFCN 🟢 仍然有效 GSM 信道标识
BCCH 🟢 仍然有效 广播信道
BSIC 🟢 仍然有效 小区识别
GSMTAP 🟢 仍然有效 GSM 数据分析接口
Wireshark 🟢 仍然有效 协议分析
Frequency Hopping 🟢 仍然有效 GSM 技术的一部分
A5/x 🟢 仍然有效 GSM 加密体系
Kc 🟢 仍然有效 会话密钥概念
A5/1 研究 🟡 主要用于历史研究 不代表所有 GSM
老版 GNU Radio 🔴 已过时 API 和依赖变化
老版 gr-gsm 安装方法 🔴 已过时 软件环境发生变化
三星 Modem 获取 Kc 🔴 高度过时 强依赖特定历史设备
默认附近存在 GSM 🔴 不成立 各地区退网情况不同
GSM 默认使用 A5/1 🔴 错误 可能使用其他 A5 算法

二十四、2026 年 GSM 网络的现状#

GSM 并没有在全球同时消失。

不同国家和运营商的 2G 退网时间不同。

因此:

地区 A
→ GSM 已经关闭

地区 B
→ GSM 仍然运行

地区 C
→ GSM 主要用于部分遗留设备或 M2M 场景

在进行 GSM SDR 实验之前,首先需要确认:

实验地点是否存在合法、可研究的 GSM 测试环境。

如果 SDR 扫描不到 GSM,不一定意味着 SDR 配置错误。

也可能只是当地已经没有 GSM 网络。


二十五、2026 年推荐的 GSM SDR 学习路线#

与其直接复制十年前的 GSM Hacking 教程,更推荐按照下面的顺序学习。

第一阶段:GSM 基础#

学习:

  • GSM 频段
  • ARFCN
  • GMSK
  • TDMA
  • Timeslot
  • Burst
  • Frame Number
  • FCCH
  • SCH
  • BCCH

第二阶段:SDR 基础#

学习:

  • Sampling
  • I/Q
  • Center Frequency
  • Sample Rate
  • Bandwidth
  • Gain
  • Frequency Offset
  • SNR

重点不是记住某个 SDR 工具的命令,而是理解:

SDR 到底采集到了什么。


第三阶段:GSM 物理层#

理解:

IQ
同步
Burst Detection
TDMA
Channel

完成这一阶段后,GSM 无线信号就不再是完全不可理解的波形。


第四阶段:gr-gsm#

再学习:

SDR
GNU Radio
gr-gsm
GSMTAP

此时 gr-gsm 不再是一个黑盒工具。


第五阶段:Wireshark#

学习:

GSMTAP
GSM
 ├── RR
 ├── MM
 ├── CC
 ├── DTAP
 └── SMS

重点放在理解 GSM 协议,而不是单纯寻找“可以利用的字段”。


第六阶段:GSM 安全#

最后学习:

  • GSM Authentication
  • Ciphering
  • Kc
  • A5/0
  • A5/1
  • A5/2
  • A5/3
  • A5/4
  • Cipher Mode

这样能够建立完整的 GSM 安全知识体系。


二十六、推荐的实验环境#

如果只是学习 GSM SDR,推荐使用:

  • 自己的测试设备;
  • 自己搭建的实验网络;
  • 隔离的射频实验环境;
  • 蜂窝网络模拟器;
  • 公开的 GSM 测试数据;
  • 明确授权的实验信号。

一个理想的实验架构可以表示为:

┌──────────────────────────────────┐
│          GSM 实验环境             │
│                                  │
│      测试网络 / 蜂窝模拟器         │
│                 │                │
│                 ▼                │
│             测试设备              │
│                 │                │
│                 ▼                │
│                SDR               │
│                 │                │
│                 ▼                │
│              gr-gsm              │
│                 │                │
│                 ▼                │
│              GSMTAP              │
│                 │                │
│                 ▼                │
│             Wireshark             │
│                                  │
└──────────────────────────────────┘

这种方式能够避免把真实第三方通信作为实验对象。

同时也更容易重复实验、排查问题和验证不同 GSM 配置。


二十七、从旧教程到现代 GSM SDR#

经典 GSM Hacking 教程最大的价值,并不是某个已经无法复现的脚本。

真正值得保留的是它展示出来的研究思路:

无线信号
物理层
Burst / TDMA
GSM 信道
GSM 协议
安全机制
密码学

其中:

SDR

解决:

如何获得无线信号?

gr-gsm

解决:

如何从无线信号恢复 GSM 数据?

GSMTAP / Wireshark

解决:

如何分析 GSM 协议?

A5/x / Kc

则属于:

GSM 空口安全机制。


二十八、旧教程最应该保留和删除的部分#

应该保留#

SDR
IQ
GSM
Burst
TDMA
GSM Channel
GSMTAP
Wireshark
Ciphering
A5/x

这些内容具有长期学习价值。

应该谨慎对待#

A5/1 破解

它具有重要的历史研究价值,但不能代表现代 GSM 网络的全部安全状况。

应该作为历史资料处理#

特定三星手机
老 Modem 接口
旧 AT / Diagnostic Interface
获取 GSM 会话参数

这类方法高度依赖历史硬件和软件环境,不应被当成现代 Android 手机的通用技术。


二十九、完整的 GSM SDR 思维模型#

理解 GSM SDR 最重要的不是记住某个命令,而是建立下面这个模型:

                         GSM
              ┌───────────┴───────────┐
              │                       │
           物理层                    安全层
              │                       │
              ▼                       ▼
             SDR                     A5/x
              │                       │
              ▼                       ▼
              IQ                      Kc
             GMSK
            Burst
          TDMA Frame
        GSM Channel
            GSMTAP
          Wireshark
          协议分析

掌握这个结构之后,再去学习具体工具会容易很多。


三十、总结#

GSM SDR 是一个非常典型的无线通信安全研究领域。

它同时涉及:

无线电工程
+
软件无线电
+
数字信号处理
+
蜂窝通信协议
+
网络安全
+
密码学

SDR 负责解决:

无线信号能否被捕获?

GSM 解调负责解决:

IQ 数据能否恢复成 GSM Burst 和 Frame?

GSMTAP 和 Wireshark 负责解决:

GSM 协议能否被进一步分析?

A5/x 和 Kc 则负责解释:

GSM 如何保护空口通信?

因此,理解 GSM SDR 最好的方式不是简单地把它理解成:

“用 SDR 破解 GSM。”

而应该理解成:

无线电信号
数字信号处理
GSM 物理层
GSM 信道
GSM 协议
安全机制
密码学

经典 GSM Hacking 教程虽然已经有相当一部分内容过时,但它们仍然能够帮助我们理解 GSM 安全研究的发展过程。

到了 2026 年,更合理的方法是:

保留协议原理,更新软件环境,淘汰过时的设备依赖,并使用授权的实验环境进行研究。


三十一、安全与法律说明#

GSM 无线电分析可能涉及受到监管的无线电频段,也可能涉及敏感通信数据。

因此:

  • 不应截获第三方通信;
  • 不应分析未经授权的用户数据;
  • 不应在未经许可的频段进行主动发射;
  • 不应将本文作为窃听真实移动通信的操作指南。

建议使用:

  • 自有设备;
  • 自有测试网络;
  • 隔离实验环境;
  • 蜂窝网络模拟器;
  • 公开测试数据;
  • 明确授权的无线电信号。

本文中的安全分析内容以协议理解、历史研究和授权实验为前提。


三十二、文档状态#

最后更新: 2026-08-13

本文主要用于 GSM、SDR 和无线通信安全技术研究。

由于 GSM 网络部署、软件工具和移动设备基带架构持续发生变化,十年前的 GSM Hacking 教程中的具体命令、设备和漏洞不应直接视为现代 GSM 环境下的通用方法。

本文将优先维护:

  • GSM 协议原理
  • SDR 技术
  • GSM 物理层
  • GSMTAP
  • Wireshark 分析
  • A5/x 安全机制
  • GSM 安全研究历史
  • 现代 GSM 网络环境变化