MAC上手动安装GSM Sniffer环境

  主要是使用gr-gsm开源项目,该项目是基于AirProbe中的gsm-receiver模块开发而来。实现GSM抓包。

l   安装依赖包:都装一下,免得到时候缺库

sudo apt-get install git cmake libboost-all-dev libcppunit-dev swig doxygen liblog4cpp5-dev python-scipy

l   下载编译gr-gsm:依赖GNURadiortl-sdrGrOsmoSDRlibosmocore

1 git clone https://github.com/ptrkrysik/gr-gsm.git
2 cd gr-gsm
3 mkdir build
4 cd build
5 cmake -DCMAKE_INSTALL_PREFIX:PATH=/opt/local -DPYTHON_LIBRARY=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib -DPYTHON_INCLUDE_DIR=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/ ..
6 make
7 sudo make install

 

附加:(gnuradio,libosmocore的安装,见其它文件)

n   下载编译rtl-sdr:

1 git clone git://git.osmocom.org/rtl-sdr.git
2 cd rtl-sdr/
3 mkdir build
4 cd build
5 cmake ../
6 make
7 sudo make install

 

n   下载编译GrOsmoSDR:

1 git clone git://git.osmocom.org/gr-osmosdr
2 cd gr-osmosdr/

如果gnuradio版本大于v3.7,使用master分支;否则,如果gnuradio版本是v3.6使用gr3.6分支:

1 git checkout gr3.6

然后执行:

1 mkdir build
2 cd build/
3 cmake ../

如果要编译API文档:

1 cd build/
2 cmake ../ -DENABLE_DOXYGEN=1
3 make -C docs

l   创建~/.gnuradio/config.conf文件,添加如下配置:

[grc]
local_blocks_path=/usr/local/share/gnuradio/grc/blocks

 

可能会遇到的2个问题:

问题1:

cmake时没有指定安装路径,python库路径,python头路径,这样编译安装之后,会导致很多问题,比如安装时,不指定/opt/local..(IOS的安装路径),默认是安装在/usr/local..,这个是linux的安装路径,这样导致库不匹配错误:

Fatal Python error: PyThreadState_Get: no current thread

问题2: python库找不到

mac上,在python中直接导入grgsm时,应该会报如下错误:

ImportError: No module named grgsm

这是因为gr-gsm在make install的时候,是将该python库安装在了:

/opt/local/lib/python2.7/site-packages/目录下,导致python找不到该库,需要添加该库的路径,这里提供一种添加其它site-packages路径的方法:

在site-packages添加一个路径文件,如myskpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称就是了。比如在该文件中写入:

/opt/local/lib/python2.7/site-packages/

 

tips

另外,怎样查找python里site-packages的位置呢?可以开一个python终端,使用如下代码即可:

1 from distutils.sysconfig import get_python_lib
2 
3 print get_python_lib()

 

posted @ 2016-12-06 09:34  NextB  阅读(1730)  评论(0编辑  收藏  举报