点击上方蓝字关注我们
先对上一次写的文章进行简单的补充和纠错,没看过的戳下面这条链接
- 一)对于 NodeMCU 开发板还可以进行许多小实验,如:天气预报,远程开关控制,家庭路由、UP主粉丝数量显示、BadApple等等...
- 二)中文版的 Deauther 开发板管理链接为 http://arduino.esp8266.com/stable/package_esp8266com_index.json对应的模块为 esp8266,版本2.0.0
- 正文开始 👇
Po7mn1:这技术很早以前就有了,记得当时还可以用OpenBTS进行短信发送。。。
写出来第一个目的是为了看看还能不能嗅探到短信,其次是重温下 GSM 网络的相关知识,温故而知新嘛,不喜勿喷,如有错误还请指出。
-
SIM(用户识别模块)
-
BTS(基站收发信台)和BSC(基站控制器)
-
MSC(移动业务交换中心)
MSC是一个控制多个BSC的节点。它是GSM系统中的核心设备,具有多种功能。
-
HLR(归属用户位置寄存器)和VLR(用户位置寄存器)
-
EIR(移动设备识别寄存器)
-
AuC(鉴权中心)
GSM基本体系结构
本公众号为了避免相关事项发生,环境搭建会省略到关键部分
硬件:
-
Moto C118(某鱼十几)
-
USB转TTL 2.5mm线(一瓶饮料的价格)
-
CP2102模块(一瓶饮料的价格)
软件:
-
osmocom-bb
-
OpenBTS-5
-
GNU
首先更新下系统的环境(笔者这里的系统是Kali),自行换源更新,接下来安装对应依赖,以防后面编译GNU时出现错误。
apt-get install build-essential libgmp3-dev
libmpfr-dev libx11-6 libx11-dev texinfo flex
bison libncurses5 libncurses5-dbg
libncurses5-dev libncursesw5 libncursesw5-dbg
libncursesw5-dev zlibc zlib1g-dev
libmpfr4 libmpc-dev
aptitude install libtool shtool automake autoconf git-core pkg-config make gcc
安装完了后,找个目录新建一个文件夹,接着下载编译时要用到的 shell 脚本
http://bb.osmocom.org/trac/raw-attachment/wiki/GnuArmToolchain/gnu-arm-build.3.sh
官网貌似502了,我把shell脚本放在了我的 Github 上,需要的可以自行 Fork。
https://github.com/icecliffs/backup/tree/main/gnu-environment-shell
新建两个文件夹 install src build
进到 src 里边把下面的文件下载到里边
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
wget http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2
wget ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz
接下来回到上级目录给gnu-arm-build.3.sh 赋予执行权限,然后 ./gnu-arm-build.3.sh
$ cd ..
$ ./gnu-arm-build.3.sh
I will build an arm-none-eabi cross-compiler:
Prefix: <YOURPATH>/install
Sources: <YOURPATH>/src
Build files: <YOURPATH>/build
Press ^C now if you do NOT want to do this.
输入 Enter 键,开始编译环境,时间有点久跳出下面的代码即表示搭建成功!
Build complete! Add <YOURPATH>/bin to your PATH to make arm-none-eabi-gcc and friends
accessible directly.
这时候我们还需添加环境变量,打开 ~/.bashrc 在末尾添加以下内容
export PATH=$PATH:<YOURPATH>/install/bin
以上是构建 GNU 的过程,接下来开始搭建 osmocom-bb 环境,克隆仓库到本地目录
git clone git://git.osmocom.org/osmocom-bb.git
搭建前我们还需要安装一个 osmocom-bb 的 libosmocore 库,先把相关依赖安装下
apt-get install build-essential libtool shtool autoconf automake git-core pkg-config make gcc libpcsclite-dev
克隆仓库到本地目录
git clone git://git.osmocom.org/libosmocore.git
开始编译 libosmocore
cd libosmocore
autoreconf -i
./configure
make
make install
cd ..
ldconfig
接着切换到 osmocom-bb/src 目录里面,make 即可。
上文的安装步骤非常精简,因为我已经安装过了,大部分步骤都是凭记忆及网上教程写的,想看完整版的可以谷歌
如果编译时遇到下图,多半是权限不足或未安装相关函数库导致的,可根据报错内容自行安装软件包
也有可能是丢失下面的包,安装即可(仅作参考)
将手机接上 2.5mm 杜邦线,然后刷入固件,注意接线顺序
红->TXD;白->RXD;黑->GND
进到 osmocom-bb/src/host/ 里输入以下命令,手机需关机,命令执行后按下电源键开始刷入固件。
./osmocon -p /dev/ttyUSB0 -m [固件类型]
../../target/firmware/board/compal_e88/[二进制文件]
刷完后手机屏幕会出现 Layer23 (我把屏幕拆了,不然还可以让你们看 lol)
按手机上的按钮终端会显示相关信息
接下来扫描附近的基站
./cell_log -O
PS:我们这2G服务基本上都没了,到后面学习 OpenBTS 发信技术后我会在原有基础上重新写一篇,如果有2G信号的话会显示信号(PWR)像这样
<000e> cell_log.c:248 Cell: ARFCN=58 PWR=-23dB MCC=460 MNC=01 (China, China Unicom)
Cell ID: 460_1_378E_2DE6
<000e> cell_log.c:248 Cell: ARFCN=59 PWR=-62dB MCC=460 MNC=01 (China, China Unicom)
Cell ID: 460_0_372C_C7D1
<000e> cell_log.c:248 Cell: ARFCN=77 PWR=-34dB MCC=460 MNC=00 (China, China Mobile)
Cell ID: 460_0_3926_0759
<000e> cell_log.c:248 Cell: ARFCN=85 PWR=-24dB MCC=460 MNC=00 (China, China Mobile)
Cell ID: 460_1_378E_2F78
<000e> cell_log.c:248 Cell: ARFCN=68 PWR=-32dB MCC=460 MNC=01 (China, China Unicom)
Cell ID: 460_1_378E_2DE4
<000e> cell_log.c:248 Cell: ARFCN=69 PWR=-12dB MCC=460 MNC=01 (China, China Unicom)
其中PWR为信号强度,值越小说明信号越好,ARFCN为基站信道号
./ccch_scan -i 127.0.0.1 -a [ARFCN]
执行后如果一直滚代码说明能正常嗅探到基站数据
有关 GSM 频段,可参考下面的图表
频段 | 名称 | 信道号 | 上行(MHz) | 下行(MHz) | 其他 |
GSM 850 | GSM 850 | 128 - 251 | 824,0 - 849,0 | 869,0 - 894,0 | 美国, 南美洲国家 和 亚洲部分国家。 |
GSM 900 | P-GSM 900 | 1-124 | 890,0 - 915,0 | 935,0 - 960,0 | GSM最先实现的频段,也是使用最广的频段。 |
E-GSM 900 | 975 - 1023 | 880,0 - 890,0 | 925,0 - 935,0 | 900M扩展频段 | |
R-GSM 900 | n/a | 876,0 - 880,0 | 921,0 - 925,0 | 铁路GSM(GSM-R),为铁路调度通信系统开发的特殊版本。 | |
GSM1800 | GSM 1800 | 512 - 885 | 1710,0 - 1785,0 | 1805,0 - 1880,0 | 适用于对信道容量需求大的市场,应用范围仅次于900M。 |
GSM1900 | GSM 1900 | 512 - 810 | 1850,0 - 1910,0 | 1930,0 - 1990,0 | 主要用于美洲国家,由于有频率重叠,与1800M系统不兼容。 |
来源于 http://www.blogjava.net/baicker/archive/2013/11/13/406293.html
接下来打开 Wireshark 嗅探即可,选择协议 gsm_sms
上文已经说了,我们这三网2G基本上都停止服务了,但有技术可以降频到2G网
关注本公众号后续回陆续写出
但为了证明该实验是成功的,翻了张以前的照片搪塞过去
基本架构
-
Tengine
-
PHP 7.3
-
MySQL
上面三个服务都省略搭建步骤,把项目克隆下来后直接修改文件运行即可
Butterfly~~
手机开4G/5G Only,没开的话可以搜索手机工程代码进入到里边自己打开,换服务,移动2G还存在一点点,联通基本上都没了,电信的不知道。
为了避免相关情况发生,本文不进行教程支援及问题解答
https://youtu.be/ZDToZIYHmJM
https://www.irjet.net/archives/V4/i1/IRJET-V4I1323.pdf
https://wulujia.com/2013/11/10/OsmocomBB-Guide
http://osmocom.org/projects/baseband/wiki/OsmocomBB
https://github.com/osmocom/osmocom-bb
http://osmocom.org/projects/baseband/wiki/Software_Getting_Started
本文始发于微信公众号(Gh0xE9):使用C118手机进行GSM/SMS嗅探实验
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论