等到HackRF修好后后就不用C118这样的古董了。这里只放一些简单的演示。
硬件部分
支持的手机
-
- MotorolaC123/C121/C118 (E88) — our primary target
- MotorolaC140/C139 (E86)
- MotorolaC155 (E99) — our secondary target
- MotorolaV171 (E68/E69)
- SonyEricssonJ100i
- Pirelli DP-L10
- Neo 1973 (GTA01)
- OpenMoko – Neo Freerunner (GTA02)
- SciphoneDreamG2 (MT6235 based)
手机硬件修改
国内比较多的是C118,需要换两个滤波器,不换也可以用,只是没有uplink的数据,只能抓到基站广播的数据(downlink)。
直接耳机线(三线)接触到TTL转USB模块,CP2102,FT232,CH340皆可。线序如下图。
环境依赖
ps:坑主要在于GCC的版本,高版本会发生扫描不到基站,只能抓取GSMTAP包等奇怪的问题,此处使用GCC4.6.3,Ubuntu12.04。这个坑是微信群里的朋友发现的。这里搬了他一些操作。我配置时也没有截图,懒得重搞截图了。
C118这种古董也是很久以前玩的,我的Hackrf板子放朋友那里玩时功放烧了(怨念)
sudo 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 libtool shtool make gcc libtalloc2 libtalloc2-dbg python-talloc python-talloc-dbg python-talloc-dev libpcsclite-dev libtalloc-dev automake autoconf git-core pkg-config
aptitude install libtool shtool automake autoconf git-core pkg-config make gcc
配置文件
这里建议用迅雷下载好再拖到虚拟机里面
打包下载放到/root目录下即可
http://bb.osmocom.org/trac/raw-attachment/wiki/GnuArmToolchain/gnu-arm-build.2.sh
http://ftp.gnu.org/gnu/gcc/gcc-4.5.2/gcc-4.5.2.tar.bz2
http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2
ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz
把下载好的3个包放到src目录下
目录结构
cd /root/armtoolchain
chmod +x gnu-arm-build.2.sh
./gnu-arm-build.2.sh
大约20分钟后出现下面代码代表编译完成
Build complete! Add /root/arm_toolchain/install/bin to your PATH to make arm-elf-gcc and friends
accessible directly
把以下代码加到~/.bashrc的最后一行
export PATH=$PATH:/root/armtoolchain/install/bin
执行一下让其生效
source ~/.bashrc
当你在命令行输入arm再按两下tab出现下图的时候,代表编译环境配置好了
libosmocore
cd /root
git clone git://git.osmocom.org/libosmocore.git
cd libosmocore/
autoreconf -i
./configure
make
sudo make install
sudo ldconfig -i
这里可能有个坑,执行完上述代码后在命令行输入arm再按两下tab的时候,arm链会莫名其妙的消失,需要再去~/.bashrc再配置一遍,如果arm链正常就不需要配置了
Osmocom-bb
cd /root
git clone git://git.osmocom.org/osmocom-bb.git
cd osmocom-bb/src/
git checkout –track origin/luca/gsmmap //选择luca/gsmmap分支 主题字体显示有问题,track前面是两个-
make //交叉编译
如果没什么问题,软件环境和固件就都编译好了。
Ununtu 12.04自带FT232R驱动,所以直接连接就能使用,不需要再装驱动。
加载Firmware到手机RAM中
cd /root/armtoolchain/osmocom-bb/src/host/osmocon
./osmocon -m c123xor -p /dev/ttyUSB0 ../../target/firmware/board/compal_e88/layer1.compalram.bin
上面命令需要在关机下执行,然后短按开机键
手机屏幕显示Layer 1 osmocom-bb 字样就表示成功了
扫描基站
cd /root/armtoolchain/osmocom-bb/src/host/layer23/src/misc/
./cell_log –O
THE_ATFCN_ID就是扫描到的日志中参数ARFCN的值,尽可能选信号好的
cd /root/armtoolchain/osmocom-bb/src/host/layer23/src/misc/
./ccch_scan -i 127.0.0.1 -a THE_ATFCN_ID
上图第一个基站的ARFCN就是40
苹果手机可以执行:*3001#12345#*
进入工程模式后,选择GSM Cell Environment->GSM Cell Info->GSM Serving Cell,就可以看到目前手机连接的基站ARFCN值了,应该在第二步中,也能看到这个ID存在。
更多姿势请看这里
osmocom-bb中cell_log的多种使用姿势
因为osmocomBB执行之后默认会在本地开启4729端口,这时候的GSM协议已经被封装上了TCP-IP,可以在本地用wireshark抓到,所以我们使用wireshark去监听4729的端口
wireshark打开错误的话需要到/usr/share/wireshark/init.lua文件注释掉倒数第二行
wireshark -k -i lo -f ’port 4729’
在wireshark中过滤gsm_sms协议数据,过滤之后得到的数据里面就包含短信的明文信息
(未完待续)
Ubuntu 12.04 Gcc为4.6.3 仍然只能抓GSMTAP 包,怎么办,怎么调试,谢谢
有解决吗?我也是只能截取到GSMTAP