LSX-blog

Feed Rss

【原创】OsmocomBB 之SMS Sniffer

11.27.2013, DIY, Linux, by .

本文大部分是按照官方的步骤直接经过试验并总结的 http://bb.osmocom.org/trac/wiki/Software/GettingStarted

必备的条件

  • 简单的英文阅读能力
  • linux环境 最好是apt-get 包管理方式的(像KaliUbuntuDebian、ArchLinux)在虚拟机中运行和物理机都没有关系,推荐ubuntu 12.04 X64位,记得使用64位,这样你可以使用我编译好的精简包,就可以不用下面的长时间编译了。
  • 交叉编译环境(具体是什么可以问度娘)
  • 手机C118 或者 C139
  • CP2102模块一个
  • 耳机插头一个

    安装相关环境

    一、安装依赖包

    1
    
    sudo apt-get -y install libtool shtool autoconf git-core pkg-config make gcc

    二、安装libosmocore源码包

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    $ cd /opt
    $ git clone git://git.osmocom.org/libosmocore.git
    $ cd libosmocore/ 
    $ autoreconf -i 
    $ ./configure 
    $ make 
    $ sudo make install
    $ ldconfig
    $ cd ..

    以上步骤完成后,如果你不想进行下面复杂的编译步骤可以下载编译好的精简版本,但请注意这个只适应64位

    三、精简版本使用(使用精简版本不需要再执行四五步骤)

    osmocom-bb.tar.gz

    下载好,直接传到你机器上面的/opt目录解压,直接使用后可以看后面的章节 补充内容后面的内容了

    四、安装交叉编译环境

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    $ cd /opt
    $ mkdir GnuArmToolchain
    $ cd GnuArmToolchain
    $ wget http://bb.osmocom.org/trac/raw-attachment/wiki/\
    GnuArmToolchain/gnu-arm-build.2.sh
    $ chmod +x gnu-arm-build.2.sh
    $ sudo apt-get -y 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 build install 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
    $ cd ..
    $ ./gnu-arm-build.2.sh 
    I will build an arm-elf cross-compiler:
     
      Prefix: /install
      Sources: /src
      Build files: /build
     
    Press ^C now if you do NOT want to do this.

    按任意键编译 完成之后添加以下环境变量到~/.bashrc

     

    1
    
    export PATH=$PATH:/opt/GnuArmToolchain/install/bin

    如果你是ubuntu 直接执行如下命令后重起

    1
    
    sudo bash -c 'echo "export PATH=$PATH:/opt/GnuArmToolchain/install/bin" > /etc/bash.bashrc'

    五、安装osmocom-bb

    如果你准备打上255错误补丁请看http://blog.lishixin.net/archives/1393这个文章

    并在git checkout –track origin/luca/gsmmap这一步后面,用文章中的补丁文件覆盖同

    名文件即可,解决在运行中经常出现255的错误,当然这一步并不是必须的

    1
    2
    3
    4
    5
    6
    
    $ cd /opt
    $ git clone git://git.osmocom.org/osmocom-bb.git
    $ cd osmocom-bb
    $ git checkout --track origin/luca/gsmmap
    $ cd src  
    $ make

    补充内容(只做参照,无需操作)

    摘自:http://www.blogjava.net/baicker/archive/2013/11/13/406293.html ######################################################### 另:Sylvain/burst_ind分支是网上说的比较多的带sniffer功能的分支,但是编译完无法刷固件,需要修改osmocom-bb/src/host/osmocon/osmocon.c,文件中添加定义 #define I_HAVE_A_CP210x 否则会出现“Unable to set custom baudrate, please use appropriate cable”,即使这里通过了我刷了还是不行。 ok,我们使用luca/gsmmap分支, GsmMap项目使用osmocom-bb项目所支持的手机通过捕捉GSM数据,对应地理位置;然后用户上传后被分析,结果会被展示在项目主页上的地图上。 该项目的主要目标是建立GSM网络的地理分布,然后分析 伪造,拦截和跟踪的可能性,会在官网上披露GSM的安全性。 官方提供一个自己的LiveCD,基于Debian,木有xWindow,参加项目的可以傻瓜化的使用并且抓包,用VirtualBOX或者VMware载入,开机后记得把osmocom-bb所用的C1**系列手机和数据线连到虚拟机,然后按照提示输入gsm即可开始。 默认编译出的版本发送信号相关的功能是被注释掉的,用mobile启动layer23后会一直于搜信号的过程中,因为无法发送信号。 如果需要进行实网测试需要打开src/target/firmware/Makefile文件中的编译开关 把osmocom-bb/src/target/firmwire/下的Makefile中的 CONFIG_TX_ENABLE宏打开: # Uncomment this line if you want to enable Tx (Transmit) Support. -#CFLAGS +=-DCONFIG_TX_ENABLE +CFLAGS +=-DCONFIG_TX_ENABLE 然后到src目录下编译 cd src make layer1和src/host/layer23/src/mobile/mobile程序,实现了从layer1到layer3的功能,我们主要用layer1,rssi是用来测试信号的,不同的信道信号强度等等一些相关信息,需要配合chainload或loader刷入,这几个应用详细说明在这里:http://bb.osmocom.org/trac/wiki/Applications image #########################################################

    六、模块连接

    QQ截图20140112204320

    经过上面几步,固件及程序以前躺在那里等着你了,下面就是使用它们了 第一步,将CP2102模块插入电脑USB  如果你是虚拟机请看如下图 image 这个是把模块连接到虚拟机中 登陆linux操作系统运行如下命令

    1
    
    $ lsusb

    出现如下图,说明连接成功 image 第二步,刷固件

     

    1
    
    $ cd /opt/osmocom-bb/src/host/osmocon/

    然后再点击开机键,记得是点击,不是开机,像点鼠标那样

     

    1
    2
    
    $ ./osmocon -m c123xor -p /dev/ttyUSB0 ../../target/firmware/board/\
    compal_e88/layer1.compalram.bin

    如果你已经硬刷了C118,直接运行以下命令既可,然后再点击开机键,记得是点击,不是开机,像点鼠标那样

    1
    
    $ ./osmocon

    输出如下结果 image 说明成功刷入 另看一个窗口打描基站信号(注意参数是大写的字母O(欧))

    1
    2
    
    $ cd /opt/osmocom-bb/src/host/layer23/src/misc
    $ ./cell_log -O

    出现下图后,找一个PWR绝对值在75以下的,绝对值越低表明信号越强,为下一步ccch_scan -a的参数做准备 1 找个ARFCN通道 ccch_scan扫描

    1
    
    $ ./ccch_scan -i 127.0.0.1 -a 110

    出现下图表明运行正常可能还会有红色字符产生,屏幕有源源不断的数据滚动表示正常 2 再打开一窗口运行

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

    image uplink只有换过芯片的才可以抓取到 

【原创】OsmocomBB 之SMS Sniffer 有 59 条回应

  1. I absolutely love your blog and find a lot of your post’s to be just what I’m looking for. Do you offer guest writers to write content available for you? I wouldn’t mind composing a post or elaborating on a lot of the subjects you write concerning here. Again, awesome web log!| а

    回复
  2. Please let me know if you’re looking for a author for your blog.
    You have some really good articles and I believe I would be a
    good asset. If you ever want to take some of
    the load off, I’d really like to write some material for your blog in exchange for a link back to mine.
    Please send me an e-mail if interested. Regards!

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注