GSM Sniffing小实践

前几天忽然想到以前看到的一个新闻,关于GSM Sniffing,顺道在网上百度了一下,发现寡人也能办的了,立马入手设备,配置环境,OK,别的不扯了,小介绍一下,主角是OsmocomBB,国外一个开源项目,是GSM协议栈(Protocols stack)的开源实现,全称是Open source mobile communication Baseband.目的是要实现手机端从物理层(layer1)到layer3的三层实现。

设备清单:

1. 摩托罗拉 C118
2. CP2102
3. C118数据线
4. PC

我的环境是,Window7 + VirtualBox +Ubuntu 12.04 (32位)

下面开始安装交叉编译环境

step1:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sudo apt-get -f 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
mkdir source
cd source
mkdir arm
cd arm
mkdir src
mkdir build
mkdir src
cd src
wget http://ftp.gnu.org/gnu/gcc/gcc-4.5.2/gcc-4.5.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
wget http://bb.osmocom.org/trac/raw-attachment/wiki/GnuArmToolchain/gnu-arm-build.2.sh
chmod +x  gnu-arm-build.2.sh
./gnu-arm-build.2.sh

比较懒的同志可以直接复制粘贴。运行。。。PS:这是事后重新整理写的,不确定全写对了…

Step2:
将arm/install/bin目录加入环境变量

1
vim ~/.bashrc

最后一行加入
export PATH=$PATH:你的arm/install/bin的绝对路径
然后关了当前的终端,再重新开一个

Step3:
编译OsmocomBB

1
2
3
4
5
6
7
8
9
10
11
12
cd source
git clone git://git.osmocom.org/libosmocore.git $ cd libosmocore/
autoreconf -i
./configure
make
make install
cd ..
ldconfig
git clone git://git.osmocom.org/osmocom-bb.git $ cd osmocom-bb
git pull --rebase
cd src
make

Step4:
万事具备,查线,然后进入osmocom-bb/src/host/osmocon/ 执行

1
./osmocon -m c123 -p /dev/ttyUSB0 ../../target/firmware/board/compal_e88/layer1.compalram.bin

PS:手机现在要在关机状态,小按一下开机键,然后就开始刷机了。

Step5:
进入 /osmocom-bb/src/host/layer23/src/misc/ 目录执行

1
./cell_log -O

输出日志信息,在里面可以看到基站信息。找到一个信号比较好的基站

Step6:

1
./ccch_scan -i 127.0.0.1 -a 基站号

Step7:
开始抓包

1
sudo wireshark -k -i lo -f 'port 4729'

OK` 开心的看下包数据吧~用wireshark有个坏处就是不好再把数据给进一步处理,看看有时间用tshark试试。

Last:对于如何插线的问题,像咱们这种没摸过板子的人着实郁闷,网上找半天找到一个接线照片..But,买来的线就是接好的,咱对不上号啊,哥其实试了所有的排列组合…