本例子参考“使用HackRF嗅探GSM流量 | 邪恶十六进制
http://www.evil0x.com/posts/7851.html”
只是使用的硬件与测试频段子板不一样而已:usrp n210+RFX1800+ubuntu14.10+gnuradio3.7.3+UHD3.7.1
kalibrate-hackrf的安装要换成kalibrate-uhd,在github上可以下载到,
1.安装无线电频率信号进行解码的gnuradio,以及能对无线电的一定频率进行可视化结果生成的工具gqrx,通过执行以下命令即可:
sudo apt-get install gnuradio gnuradio-dev gr-osmosdr gr-osmosdr gqrx-sdr wireshark
注:gnuradio可以在ubuntu软件中心安装,上面的gnuadio可去掉,但是gnuradio-dev必须安装,要不后面因为缺少相应的库文件,报错找不到gnuradio.
2.然后下载安装gr-gsm,GnuRadio模块会对GSM数据包进行解码:
sudo apt-get install git cmake libboost-all-dev libcppunit-dev swig doxygen liblog4cpp5-dev python-scipy
git clone https://github.com/ptrkrysik/gr-gsm.git
cd gr-gsm
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
然后打开gnuradio的配置文件(我的是在/etc/gnuradio/conf.d/grc.conf,软件中心安装的),并把以下粘贴进去:
local_blocks_path=/usr/local/share/gnuradio/grc/blocks
3.最后安装 kalibrate-uhd,它是一款能够识别GSM信号运营商的工具,需要到github上面下载(https://github.com/ttsou/kalibrate-uhd)解压缩放在主文件夹下:
cd kalibrate-uhd-master
./bootstrap
./configure
make
sudo make install
1.搜寻GSM频率:
因为我的子板天线是RFX1800,所以只能测1800MHz频段
(1)使用./kal -s DCS1800 -g 40
截获1800频段的BCCH频点,注意:RFX1800子板天线要插在RF2上。
(2)暂停上面的终端,在另一个终端运行gr-gsm/apps下面的 ./airprobe_rtlsdr.py ,然后设置上面扫描到的最大power的频道频率,上面大概是1831MHz左右,别忘记加上’gain’的参数值,回到频率段,按下设备上的上下键来调整频率,每按一次会变动200Khz,直到能从控制台窗口中看到数据,过程缩略图:
2.现在你仅仅只需要在另一个终端执行以下指令来运行wireshark,不要停止上一个终端:
sudo wireshark -k -Y 'gsmtap && !icmp' -i lo
如果gr-gsm确实成功运行了,你应该能够看到通过USRP N210嗅探到并解码后GSM通信流量数据。
注:该示例文章是2015年的,保存草稿忘记发布了0.0