Back

kali rolling上配置GSM Sniffer环境

Luc|faer
Luc|faer 2016年08月09日

Step 1 更新系统:

  apt-get update && apt-get dist-upgrade -y

在这里我使用的是kali rolling的系统,并不强迫使用官方的源,也可以使用下面的源:

#阿里云kali源
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb http://mirrors.aliyun.com/kali-security kali-rolling/updates main contrib non-free
deb-src http://mirrors.aliyun.com/kali-security kali-rolling/updates main contrib non-free

#中科大kali源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb http://mirrors.ustc.edu.cn/kali-security kali-current/updates main contrib non-free
deb-src http://mirrors.ustc.edu.cn/kali-security kali-current/updates main contrib non-free

当然还是推荐使用官方的源:

#官方源
deb http://http.kali.org/kali sana main non-free contrib
deb http://security.kali.org/kali-security sana/updates main contrib non-free

deb-src http://http.kali.org/kali sana main non-free contrib
deb-src http://security.kali.org/kali-security sana/updates main contrib non-free

跟新时间较长,需要等待。

Step 2 安装必要的软件包依赖:

  • 首先安装一下必要的软件包依赖:

    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
    
  • 接着安装GNU的一些依赖,因为osmocom-BB是依赖于GNU的。

    aptitude install libtool shtool automake autoconf git-core pkg-config make gcc
    

    如果在这里出现冲突,提示你需要删除make-guile来解决冲突问题,直接按Y同意就可以了

Step 3 下载必要的预编译环境:

上面的步骤完成后,建立一个工作目录(我是建在根目录下的),比如armtoolchain,切换到此目录下面,然后下载官方提供的一个用于构建ARM编辑器预编译环境的shell脚本gnu-arm-build.3.sh,可以直接使用wget下载:

wget http://bb.osmocom.org/trac/raw-attachment/wiki/GnuArmToolchain/gnu-arm-build.3.sh

然后在armtoolchain目录下面创建一个src文件夹,切换到src文件夹后,使用wget下载必要的文件包:

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

建议开三个终端同时下载(第一个下载会稍慢,需要耐心等待)。

Step 4 对下载的环境进行编译:

下载完成之后切换到armtoolchain目录下,给之前下载的shell脚本赋予可执行权限,使用以下命令:

chmod +x gnu-arm-build.3.sh

之后就可以执行脚本了,使用命令:

./gnu-arm-build.3.sh

在这里程序会有一个提示:

Press ^C now if you do NOT want to do this.

这里直接按enter就行,进入编译流程,成哥编译流程大概需要半个小时,需要耐心等待。

编译完成后会显示:

Build complete! Add /root/armtoolchain/install/bin to your PATH to make arm-none-eabi-gcc and friends
accessible directly.

意思是需要把这个路径添加到环境变量中,这里的路径是根据你当前所生成的目录来的,需要视自己的情况进行修改,在这里推荐使用完成路径(否则可能会产生错误)。执行下面的命令来添加环境变量:

export PATH=$PATH:/root/armtoolchain/install/bin

Step 5 编译osmocom-BB固件:

  • 首先要git下来osmocom-BB的源文件。结环岛armtoolchain目录下面执行下面的命令来可伶osmocom-BB的源码:

    git clone git://git.osmocom.org/osmocom-bb.git
    
  • 克隆完成后切换到osmocom-BB目录,执行下面的命令来保持获取到的是最新的源码:

    git pull --rebase
    
  • 现在仍然不能编译,还需要一个osmocom的库libosmocore,这个库里面包含osmocom很多项目所需要的文件,而不仅仅是BB这个项目,比如还有SIMTRACE以及OpenBSC等。

    同样,这里用git来克隆libosmocore,使用以下命令克隆:

    git clone git://git.osmocom.org/libosmocore.git
    
  • 之后安装编译libosmocore需要的一些软件包的依赖:

    apt-get install build-essential libtool shtool autoconf automake git-core pkg-config make gcc libpcsclite-dev
    
  • 在编译libosmocore之前,我们还需要一个talloc包。如果没有该软件包,在编译libosmocore会显示一个错误:

    No package 'talloc' found
    

    如果使用apt-get会提示无法定位软件包talloc。

    解决方法为:

    • http://www.linuxfromscratch.org/blfs/view/svn/general/talloc.html下载该软件包,输入以下命令手动编译:
    ./configure --prefix=/usr
    make
    
  • 接下来,切换到libosmocore目录下面,就可以进行对libosmocore的编译:

    autoreconf -i
    ./configure
    make
    sudo make install
    cd ..
    sudo ldconfig
    

    这里的sudo ldconfig必须执行,不然在编译osmocom-BB的时候找不到libosmocore包!

  • 编译成功libosmocore后,即可编译osmocom-BB了。切换到armtoolchain/osmocom-bb/src目录下,执行下面的命令进行编译:

    make
    

等待编译完成。

osmocom-bb编译完成之后就可以进行嗅探了。

Submit