OpenBTS source code能够在这里下载:http://sourceforge.net/projects/openbts/html
OpenBTS入门的各类问题能够在这里找到答案:http://gnuradio.org/redmine/projects/gnuradio/wiki/OpenBTS安全
开始接触gnuradio,而后到OpenBTS+asterisk,令我十分兴奋。同时也手足无措,入门以后,谁也不知道你要搭建的平台用于什么用途,没有办法给以明确的指导,只能自已动手了。网络
刚无缺OpenBTS后,我火烧眉毛的运行了。结果以下图,能够运行。可是,看看下面的ALARM,发生了TXTUNE failed with status 1的悲剧。后来才明白,是使用的硬件不一样引发的。svn
下图是在http://sourceforge.net/projects/openbts/里,fordummies.pdf教程中使用的硬件学习
下面的图是我使用的硬件,多了一块板,RX和TX分开了。这是很大的不一样,因此不能直接使用OpenBTS/release,要进行改动,还好,这个工做已经有人完成了。能够直接使用别人改好的,OpenBTS/UHD版本。url
使用OpenBTS-UHD版本,本身仍是要修改的,以下图,AC_DEFINE(USE_UHD,1,Define to 1 if using UHD),这里原本是1的,改成0,由于我不用UHD。spa
若是你没有改这里,又不用UHD,那在./configure的时候就会出现下面的这个错误。不要小看这个错误,也许就由于这个错误,项目的进度会延期一周。.net
最后,还有一个关键点,不使用UHD,总要有一个驱动吧。在上述步骤完成后,./configure --with-usrp1 这个usrp1就是你想要使用的驱动!到这里以后 make ,make install 就能够安装好了,真不容易!3d
安装完成,体验会OpenBTS的趣味。首先,你要获得IMSI,在OpenBTS搭建好后,我这里搭的是GSM.MCC=460 GSM.MNC=10,而后,用手机寻找运营商,就会找到一个名叫 CHN-10的运营商,选择接入它就能够了。接着,就在OpenBTS中用,tmsis就能够获得IMSI。code
什么是MCC呢?MCC是Mobile Country Codes,460表明中国
什么是MNC呢?MNC是Mobile Network Codes,10在中国是尚未使用的。
中国具体的运营商和网络以下图:
经过OpenBTS,得知个人IMSI为460029078808551。这样就能够经过OpenBTS给我手机发短信了。
其格式以下: sendsms <IMSI> <发送短信在手机上显示的号码>(号码能够任意,但必定要有) MNC <text>
这是我收到的短信,乱码的那条,是我尝试发中文信息,结果发现不支持。有人可能会好奇,IMSI怎么不是手机号码啊?IMSI是存在SIM卡里的,确实不是手机号码,也不是SIM卡后面的数字。真正的手机号码是MSISDN。GSM把是二者区分开的,为了必定的安全,真正使用时还会分配一个TMSI!
这样OpenBTS就能够正常使用了。两手机互打电话和互发短信,光有OpenBTS还不行,还要asterisk(这个之后再提)。
接着就安装wireshark和wammu
安装完成后,就能够按https://svn.berlin.ccc.de/projects/airprobe/wiki/tracelog 里的教程,用Nokia3310深刻学习GSM协议啦!!!
最后,推荐一下两本资料