xuyangus 发表于 2017-7-7 12:07:51

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:依赖GNURadio,rtl-sdr,GrOsmoSDR,libosmocore



git clone https://github.com/ptrkrysik/gr-gsm.git
cd gr-gsm
mkdir build
cd build
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/ ..
make
sudo make install
  附加:(gnuradio,libosmocore的安装,见其它文件)
  n   下载编译rtl-sdr:



git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr/
mkdir build
cd build
cmake ../
make
sudo make install

  n   下载编译GrOsmoSDR:



git clone git://git.osmocom.org/gr-osmosdr
cd gr-osmosdr/
  如果gnuradio版本大于v3.7,使用master分支;否则,如果gnuradio版本是v3.6使用gr3.6分支:



git checkout gr3.6
  然后执行:



mkdir build
cd build/
cmake ../
  如果要编译API文档:



cd build/
cmake ../ -DENABLE_DOXYGEN=1
make -C docs
  l   创建~/.gnuradio/config.conf文件,添加如下配置:




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终端,使用如下代码即可:



from distutils.sysconfig import get_python_lib

print get_python_lib()
页: [1]
查看完整版本: MAC上手动安装GSM Sniffer环境