GsmMap这个项目的意义官方解释是这样的:

This tutorial explains how to populate this GSM security map on gsmmap.org with additional data for your location.

大体介绍下:

GsmMap项目使用osmocom-bb项目所支持的手机通过捕捉GSM数据,对应地理位置;然后用户上传后被分析,结果会被展示在项目主页上的地图上。

该项目的主要目标是建立GSM网络的地理分布,然后分析 伪造,拦截和跟踪的可能性,会在官网上披露GSM的安全性。

官方提供一个自己的LiveCD,基于Debian,木有xWindow,参加项目的可以傻瓜化的使用并且抓包,用VirtualBOX或者VMware载入,开机后记得把osmocom-bb所用的C1**系列手机和数据线连到虚拟机,然后按照提示输入gsm即可开始。

 

输入gsm即可开始,不过记得你挂载你的手机~

接下来就是输入你的手机型号了,因为不同的手机型号加载的固件不一样,我是C118,属于C123xor一类:

选择好型号之后就会提示让你按下开机键啦,为了上传固件嘛,这个用过osmocom-bb的人都会知道。

接下来就是扫描附近的运营商以及频道了:

嗯,可以看到我这里联通的基站比较多,移动很烂 -。- 接下来就是输入离你最近的基站什么的做测试了,可以通过参考PWR数值来选择。

但是到最后输入自己的TMSI,在获取自己的TMSI这块我比较头疼,不知道怎么操作,官方说有的手机(很少)自己带这个功能,TMSI每次接入都会变的,暂且不知道怎么获取。至于手机上反正我是没看到,所以官方的LiveCD使用就卡到了这一步,最后我自己下载osmocom-bb的gsmmap分支源码做了测试:

  1. #下载源码
  2. mkdir -p ~/cell_logger 
  3. cd ~/cell_logger 
  4. git clone git://git.osmocom.org/osmocom-bb.git 
  5. #下载编译器
  6. wget http://gnuarm.com/bu-2.15_gcc-3.4.3-c-c++-java_nl-1.12.0_gi-6.1.tar.bz2 
  7. tar xf bu-2.15_gcc-3.4.3-c-c++-java_nl-1.12.0_gi-6.1.tar.bz2 
  8.  
  9. #切换gsmmap分支 
  10. cd ~/cell_logger/osmocom-bb 
  11. git checkout --track origin/luca/gsmmap 
  12.  
  13. #编译源码
  14. cd src 
  15. export PATH=$PATH:~/cell_logger/gnuarm-3.4.3/bin 
  16. make 

上面就是编译的步骤,其实重要的就是切换分支那一步,其他没啥不同的,接下来就是加载固件开始测试:

  1. #加载固件 
  2. cd ~/cell_logger/osmocom-bb/src  
  3. ./host/osmocon/osmocon -m c123xor -p /dev/ttyUSB0 ./target/firmware/board/compal_e88/layer1.compalram.bin  
  4.   
  5. #捕捉数据
  6. mkdir -p ~/cell_logger/captures  
  7. cd ~/cell_logger/captures  
  8. ../osmocom-bb/src/host/layer23/src/misc/cell_log  
  9.   
  10. #打包data文件 
  11. cd ~/cell_logger/captures  
  12. tar cfz ../captures_`date +%Y%m%d%H%M`.tgz *.dat 

基本上你吃饭之前开始捕捉,然后吃完饭后就可以了停止了,然后从虚拟机把这个压缩包拷出来,通过gsmmap.org的右上角contibute data按钮提交即可。

我提交之后第二天就有显示了,关于中国的那个数据包就是我提交的,关于GSM的安全性的话,大家也懂国内是什么样,我提交之后在gsmmap上也显示了,中国联通中枪。