软件定义无线电与GSM/LTE入门
作者:Ray Felch
免责声明:在传输蜂窝数据前,请务必使用法拉第袋或屏蔽笼,避免因非法占用受监管频段而触犯法律。此外,拦截和解密他人数据是违法行为,请在研究手机通信流量时谨慎操作。
前言
我曾持有高级业余无线电操作员执照(KR4FF),职业生涯专注于电子工程和嵌入式软件开发。近期接触软件定义无线电(SDR)后,我对其产生了浓厚兴趣——通过软件模拟传统昂贵硬件功能的概念极具吸引力。下文记录了我探索SDR领域的实践经历,希望能为他人提供参考。
软件定义无线电核心概念
维基百科定义:软件定义无线电(SDR)是一种无线电通信系统,其传统硬件组件(如混频器、滤波器、放大器、调制解调器、检测器等)通过个人计算机或嵌入式系统中的软件实现。
GNU Radio是一个免费开源的软件开发工具包,提供信号处理模块以构建软件无线电系统。更多信息见:gnuradio.org
硬件选择
- RTL2832U(约20美元):频率范围64MHz–1.7GHz(1.1GHz–1.25GHz存在间隙)
- HackRF One(约320美元):频率范围1MHz–6GHz(支持发射功能)
购买链接:rtl-sdr.com、greatscottgadgets.com/hackrf
初始配置与探索
首先安装RTL2832U并配置Windows平台的SDR Sharp应用(下载:airspy.com/download)。通过调频本地FM电台和业余无线电频道熟悉操作后,我转向更复杂的GSM/LTE移动通信研究。由于移动频段常超过RTL2832U的1.7GHz上限,后续改用HackRF One。
GSM/LTE移动通信基础
- 运营商技术差异:
- AT&T和T-Mobile支持GSM(全球移动通信系统),使用SIM卡且设备兼容性强
- Verizon、Sprint和US Cellular为CDMA(码分多址)运营商
- GSM/CDMA仅支持3G,4G LTE速度可达3G的10倍
- 北美频段分布:
- GSM:850MHz和1900MHz
- LTE:700MHz、1700-2100MHz、1900MHz、2500-2700MHz
详细频段参考:worldtimezone.com/gsm.html
依赖模块安装步骤
1. 安装GNU Radio
|
|
2. 安装GR-GSM(开源移动通信工具)
|
|
3. 编译GR-GSM
|
|
4. 安装Gqrx SDR接收器和HackRF工具
|
|
5. 安装Kalibrate-Hackrf(GSM基站扫描)
|
|
6. 安装Wireshark数据包分析器
|
|
实战操作
扫描基站频率
执行命令扫描PCS频段(1900MHz):
|
|
选择检测到的频率(如1930.2MHz),通过Gqrx SDR调整至实际中心频率1930.535MHz。
使用GNU Radio Companion捕获流量
运行grgsm_livemon.grc模块(替代旧版airprobe_rtlsdr.grc),启动后调至1930.535MHz。控制台出现高速数据流(含大量“2b”填充字节)表明成功捕获蜂窝流量。
Wireshark数据包分析
以root权限启动Wireshark并应用gsmtap过滤器:
|
|
在回环模式下分析本地流量,可识别系统信息类型4(载波信标)等数据包结构。
总结
本项目深入实践了SDR在GSM/LTE领域的应用,包括硬件配置、信号捕获与解码。后续计划进一步解析数据包含义,并通过合法测试呼叫(如捕获个人SMS报文)深化对移动网络运作机制的理解。
提示:想深入学习?可参加Antisyphon的付费课程(支持按能力付费模式),提供实时/虚拟及点播培训。