使用GnuRadio+OpenLTE+SDR搭建4G LTE基站(上)

简介:

0×00 前言

在移动互联网大规模发展的背景下,智能手机的普及和各种互联网应用的流行,致使对无线网络的需求呈几何级增长,导致移动运营商之间的竞争愈发激烈。但由于资费下调等各种因素影响,运营商从用户获得的收益在慢慢减少,同时用于减少韵味和无线网络的升级投资不断增加,但收入却增长缓慢。为保证长期盈利增长,运营商必须节流。

SDR Software Define Radio 软件定义无线电可将基站信号处理功能尽量通过软件来实现,使用通用硬件平台可快速地实现信号的调制解调,编码运算,SDR为现有通信系统建设提供了全新思路,给技术研究开发降低了成本、并提供了更快的实现方式。(引用 基于开源SDR实现LTE系统对比)

SDR是否能打破传统运营商在通信行业的垄断呢?

另外值得关注的是:国外安全大会上从数年前2G GSM攻击议题到近期的LTE 4G安全议题,基站通信安全一直备受安全爱好者关注。

在这一背景下,国外OpenLTE开源项目成为热门话题:

OpenLTE是在Linux系统下的使用GNURadio软件开发包实现的3GPP通信协议的一个开源项目,主要实现一个简单的4G基站的功能。在文章后面的内容中,我们将分享如何搭建、使用OpenLTE.

至于使用BladeRF搭建GSM基站的内容可阅读:

GSM BTS Hacking: 利用BladeRF和开源BTS 5搭建基站

GSM Hacking:使用BladeRF、树莓派、YatesBTS搭建便携式GSM基站

Demo:

小百科:

2G网络是指第二代无线蜂窝电话通讯协议,是以无线通讯数字化为代表,能够进行窄带数据通讯。常见2G无线通讯协议有GSM频分多址(GPRS和EDGE和CDMA ) 传输速度很慢。 

3G网络是第三代无线蜂窝电话通讯协议,主要是在2G的基础上发展了高带宽的数据通信,并提高了语音通话安全性。3G一般的数据通信带宽都在500Kb/s以上。目前3G常用的有3种标准:WCDMA、CDMA2000、TD-SCDMA,传速速度相对较快,可以很好的满足手机上网等需求。

4G网络是指第四代无线蜂窝电话通讯协议,该技术包括TD-LTE和FDD-LTE两种制式,是集3G与WLAN于一体并能够传输高质量视频图像以及图像传输质量与高清晰度电视不相上下的技术产品。 4G系统能够以100Mbps的速度下载,比拨号上网快2000倍,上传的速度也能达到20Mbps,并能够满足几乎所有用户对于无线服务的要求。

那么除去安全方面,2G、3G、4G之间有什么不同呢?对于用户而言,2G、3G、4G网络最大的区别在于传速速度不同。

给你一个秒懂的例子: 2G秒看苍老师.txt 3G秒看苍老师.jpg 4G秒看苍老师.avi:

0×01 环境搭建

OS:Ubuntu

GnuRadio 3.7

BladeRF

HackRF

1.1 BladeRF

1.1.1 驱动

1
2
3
4
5
6
7
8
9
10
11
mkdir bladeRF
wget -c https: //github.com/Nuand/bladeRF/archive/master.zip
unzip master.zip
cd bladeRF-master
cd host
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DINSTALL_UDEV_RULES=ON ../
make -j4
make install > install.log
ldconfig

1.1.2 BladeRF 固件

1
2
wget -c http: //www.nuand.com/fx3/bladeRF_fw_v1.8.0.img
bladeRF-cli -f bladeRF_fw_v1.8.0.img -v verbose

1.2 GNURadio

1
2
3
4
5
6
mkdir gnuradio
cd gnurdio
wget http: //www.sbrac.org/files/build-gnuradio
chmod a+x build-gnuradio
./build-gnuradio –v
sudo apt- get  install libpolarssl-dev

0×02 另辟蹊径

以上步骤所需依赖包较多,想偷懒的童鞋可以使用GnuRadio发布的Ubuntu LiveCD,里边已经搭建好了gnuradio、HackRF、BladeRF、USRP、gqrx、rtl-sdr等一些列SDR所需的依赖环境。使用这种方式可以避免安装系统环境中遇到的绝大多数坑。

下载链接:http://gnuradio.org/redmine/projects/gnuradio/wiki/GNURadioLiveDVD

2.1 编译OpenLTE (文件列表)

1
2
3
4
5
6
7
8
wget http: //ufpr.dl.sourceforge.net/project/openlte/openlte_v00-19-04.tgz  //(目前最新版)
tar zxvf openlte_v00-19-04.tgz
cd openlte_v00-19-04/
mkdir build
cd build
sudo cmake ../
sudo make
sudo make install

0×03 搜索附近基站

插入SDR设备,这里我使用了BladeRF(测试了一下HackRF也能使用,但由于HackRF采用USB 2.0传输数据,其效率会比BladeRF低很多,有条件的同学可以使用USRP):

1
osmocom_fft --samp-rate 80000000

OpenLTE编译完成之后会在build目录下生成可执行文件:

1
2
cd LTE_fdd_dl_scan
./LTE_fdd_dl_scan

新建一终端,通过Telnet进入OpenLTE工作终端交互界面:

1
telnet 127.0.0.1 20000

telnet端执行start开始扫描:

LTE_fdd_dl_scan将扫描dl_earfcn_list列表中的FCN值:从25到575

ARFCN:绝对无线频道编号 (Absolute Radio Frequency Channel Number – ARFCN ),是在GSM无线系统中,用来鉴别特殊射频通道的编号方案,相信嗅探过GSM短信的童鞋对它一点不陌生。4G LTE中ARFCN被称作EARFCN。

3.1 搜索电信FDD LTE网络:(telnet端)

1
2
3
write band 1
help
start

3.2 搜索联通FDD LTE网络:(telnet端)

1
2
3
stop
write band 3
start

3.3 关闭搜索:(telnet端)

1
shutdown

3.4 移动、联通、电信TD-LTE频段与FDD-LTE部分频段:

0×04 结语

文章第一部分主要分享如何搭建OpenLTE并扫描附近基站信号,在后续的内容中将根据OpenLTE官方WIKI分享OpenLTE其他功能的使用。如LTE_fdd_enodeb的发卡,添加用户功能:

0×05 参考&感谢

Mobile Security: Practical attacks using cheap equipment

黄琳_HITB Paper:LTE REDIRECTION Forcing T argeted LTE Cellphone into Unsafe Network

OpenLTE:sourceforge.net

OpenLTE WIKI

OpenLTE开源代码结构解析(一) 

OpenLTE开源代码结构解析(二) 

基于开源SDR实现LTE系统对比

原帖地址:http://www.freebuf.com/articles/wireless/108417.html

本文转自 K1two2 博客园博客,原文链接:

http://www.cnblogs.com/k1two2/p/5666667.html

  ,如需转载请自行联系原作者

相关文章
|
安全 物联网 Linux
IoT技术-用HackRF做一个私网LTE基站
本文中涉及到国家通信安全。请不要随便尝试。如若尝试后造成任何后果与本文作者无任何关系。
839 1
IoT技术-用HackRF做一个私网LTE基站
|
Java Go Apache
gRPC vs Thrift
远程过程调用(Remote Procedure Call,RPC)服务于分布式架构,本文从分布式构架面临的问题,期望的结果,引出两种比较受关注的RPC框架,并从框架的出身、实现原理、特性、性能等方面做了对比分析,从而给出两者之间的选择建议。
11049 0
Debian 官方源换为国内的源的操作方法
apt-get update 报错,采用更换源的方式解决问题。
36924 0
|
编解码 网络协议 Unix
SIP协议&开源SIP服务器搭建和客户端安装
1. SIP SIP 是一个应用层的控制协议,可以用来建立,修改,和终止多媒体会话,例如Internet电话 SIP在建立和维持终止多媒体会话协议上,支持五个方面: 1)   用户定位: 检查终端用户的位置,用于通讯。
15703 0
|
域名解析 Ubuntu 安全
如何在 Ubuntu 20.04 上安装 Visual Studio Code
Visual Studio Code 是一个由微软开发的强大的开源代码编辑器。它包含内建的调试支持,嵌入的 Git 版本控制,语法高亮,代码自动完成,集成终端,代码重构以及代码片段功能。本文主要为大家讲解两种在 Ubuntu 20.04 上安装 Visual Studio Code 的方式。
47228 0
如何在 Ubuntu 20.04 上安装 Visual Studio Code
|
NoSQL Java MongoDB
Springboot中设置MongoDB的超时时间
Springboot中设置MongoDB的超时时间
1967 0
|
JSON API 数据库
FastAPI(19)- Response Model 响应模型 (下)
FastAPI(19)- Response Model 响应模型 (下)
266 0
FastAPI(19)- Response Model 响应模型 (下)
|
调度 5G 测试技术
带你读《5G NR物理层技术详解:原理、模型和组件》之二:NR物理层概述
本书详细阐述5G新的无线接入技术—5G NR物理层技术的基本设计原理、模型和组件,其中物理层模型包括针对5G NR(max到100 GHz)全频段范围的无线电波传播和硬件损伤。物理层技术包括灵活的多载波波形、先进的多天线解决方案,以及针对5G及以后技术的各种服务、部署和频率的信道编码机制。包括一个基于MATLAB的链路级仿真器以探索各种设计选项。
15803 1
|
Ubuntu Linux
Ubuntu18.04更换国内源
转载自网络
86614 0