概述
GSM 嗅探(GSM Sniffing)是无线通信安全研究中的一项重要技术,通过监听 GSM 信号来捕获和分析移动通信数据。本文介绍如何使用 HackRF 等 SDR 硬件,结合 kalibrate-hackrf、gr-gsm 和 IMSI-catcher 等开源工具,实现 GSM 频点扫描、信号解码和 IMSI 捕获。
工具链概览
| 工具 | 功能 | 说明 |
|---|---|---|
| HackRF One | SDR 硬件 | 开源软件定义无线电平台,支持 1MHz~6GHz 频率范围 |
| kalibrate-hackrf | 频点扫描 | 在已知 GSM 频率之间跳动,识别当前区域使用的 GSM 频率 |
| gr-gsm | 信号解码 | 基于 GnuRadio 的 GSM 信号解码模块,将原始无线电信号转换为可分析的数据包 |
| tshark | 数据包分析 | Wireshark 命令行版本,可从解码后的 GSM 数据中提取 IMSI 等信息 |
| IMSI-catcher | IMSI 捕获 | 自动化 IMSI 捕获工具,集成频点扫描和数据解析功能 |
1. GSM 频点扫描
1.1 安装 kalibrate-hackrf
kalibrate-hackrf 是一款专为 HackRF 设计的 GSM 频率校准工具。它能够在已知的 GSM 频率之间跳动,快速识别当前区域正在使用的 GSM 基站频率。
1 | # 克隆源码 |
1.2 扫描 GSM 频点
1 | # 扫描 GSM900 频段 |
扫描结果会列出检测到的 GSM 基站频率及其信号强度,选择信号最强的频点用于后续嗅探。
2. 安装 gr-gsm
gr-gsm 是基于 GnuRadio 的 GSM 信号处理模块,能够将 SDR 硬件接收到的原始无线电信号解码为 GSM 数据包。
2.1 安装依赖
1 | sudo apt-get install git cmake libboost-all-dev libcppunit-dev \ |
2.2 编译安装
1 | git clone https://github.com/ptrkrysik/gr-gsm.git |
2.3 运行 gr-gsm
安装完成后,gr-gsm 提供了多个工具:
| 命令 | 功能 |
|---|---|
grgsm_scanner |
扫描附近的 GSM 基站 |
grgsm_livemon |
实时监听指定频率的 GSM 信号 |
grgsm_decode |
解码已录制的 GSM 信号文件 |
1 | # 使用 grgsm_livemon 监听指定频率 |
gr-gsm 解码后的数据包会通过本地环回接口(loopback)以 GSMTAP 格式转发,默认端口为 4729,可使用 Wireshark 或 tshark 进行分析。
3. IMSI 捕获
IMSI(International Mobile Subscriber Identity,国际移动用户识别码)是 SIM 卡中存储的唯一标识符,用于在移动网络中识别用户。通过 GSM 嗅探捕获 IMSI 是安全研究中的重要环节。
3.1 使用 tshark 直接提取 IMSI
tshark 是 Wireshark 的命令行版本,可以直接从 gr-gsm 转发的数据流中提取 IMSI 信息:
1 | # 监听本地环回接口,过滤并提取 IMSI |
参数说明:
| 参数 | 说明 |
|---|---|
-i lo |
监听本地环回(loopback)接口 |
-Y "e212.imsi" |
Wireshark 显示过滤器,仅显示包含 IMSI 的数据包 |
-V |
显示数据包详细信息 |
3.2 使用 IMSI-catcher 工具
IMSI-catcher 是一个自动化的 IMSI 捕获工具,集成了频点扫描和数据解析功能,使用更加便捷。
安装
1 | # 克隆项目 |
运行扫描
1 | # 方式一:自动扫描频点并监听 |
运行后,工具会自动:
- 扫描附近的 GSM 基站频率
- 在检测到的频率上启动 livemon 进行数据捕获
- 解析捕获的数据,提取 IMSI、TMSI、LAC、Cell ID 等信息
- 通过 MCC/MNC 查询运营商信息
3.3 输出信息说明
| 字段 | 说明 |
|---|---|
| IMSI | 国际移动用户识别码(15位数字) |
| TMSI | 临时移动用户识别码 |
| MCC | 移动国家代码(如 460 = 中国) |
| MNC | 移动网络代码(如 00 = 中国移动) |
| LAC | 位置区域码 |
| Cell ID | 小区标识 |
| Operator | 运营商名称 |
安全提示
⚠️ 重要警告: GSM 嗅探技术仅可用于合法的安全研究和测试目的。在使用前请确保:
- 已获得必要的无线电频率使用许可
- 仅在授权的环境中进行测试
- 遵守所在地区的无线电管理法规和隐私保护法律
- 不得用于任何非法监听、跟踪或侵犯他人隐私的活动
- 注意保护捕获到的敏感信息(如 IMSI),防止泄露
相关文章
本文是 GSM 安全研究系列的一部分。GSM 嗅探是被动式监听技术,与 OpenBTS/YateBTS 等主动式伪基站技术互为补充。掌握 GSM 嗅探技术有助于理解移动通信安全的基本原理。相关内容可参考 GSM 基础、SDR、移动网络等文章。