制作一个老旧C118的GSM便携式测试设备
2018-03-06 14:04
429 查看
对于OsmocomBB也是被国内外大神玩得不亦乐乎。什么重定向攻击,中间人攻击。都是N年前的东西咯。当然鄙人不会这些。对于地下市场无非就是获取对方短信小则“老虎机”,大则支付宝。某日翻了翻“咸”鱼,居然还有存在。于是乎我决定讨论下一个稍微算是有搞头的玩法。本文涉及一些基础编程和PCB设计以及SOLIDWORKS的3D建模。其次下文只对软硬件设计作为学习,各位大神就别喷我了。有人说现在都4G,5G了,还用什么GSM网络,这里就用到一个名为屏蔽器的东西了。仁者见仁,智者见智。源代码以及3D打印的文件见文末只用于学习研究。因为完整版我早已丢到天涯海角。
PCB设计:
整体思想及其简单,用FE8.1芯片作为USB扩展分给4个CP2012供给C118使用,还有1个CP2012直接使用nanopi_duo的USB。CP2012在数据准备后会给DTR脚一个低电平,这里就是做到自动化的关键了,其次每个C118的电流单独使用gpio控制。我用S9013三极管作为开关。这样后面的程序就可以通过分析日志来控制C118了。nanopi_duo就不多说了,就是一电脑,通过WiFi连接到我手机上控制设备。整一块pcb设计有些坑需要注意的是USB分叉线,晶振,还有那个FE8.1的10uF电容的天坑!这粒小玩意必须离芯片足够近,不然会导致芯片停止工作等等一些列问题。还有就是FE8.1的地线通过磁珠过掉一部分干扰,这也是稳定运行的关键。只要看到稳定的正弦波,那就可以了,为此打样了N次,还用上高标准的沉金工艺~~!原理图见文末。
程序编写:
工欲善其事必先利其核心!nanopi_duo的系统内核是不开启对cp2012的支持的,这也就是为何接主板工作了系统却不识别cp2012的主要问题。知道问题所在那好搞,我们下载linux的源码。重新编译个内核给它添加个CP2012的驱动不就行了。linux内核的具体编译过程这里不讨论..USB Serial Converter support —>USB CP210x family of UART Bridge Controllers make内核后把原有的给替换即可。然后框架分为两个主体,一是WEB用于用户互交,二是C程序用户启动化以及抓包分析入库…主要讲解下自动刷机检测以及抓包分析的C程序片段,程序见文末。函数FlashInitialization()为主要,检测通过分析C118刷机日志是否字符串”starting up”,没有那就gpio拉低重启C118。直到刷机成功为止…下面这个片段则是启动5个ccch_scan来抓取GSM数据流,以及调用tshark对端口4729进行抓包且把内存保存下来用于等会的分析,tshark会实时把抓到的数据过滤出gsm_sms包保存下来,程序只需要分析关键字抓取片段即可,比如关键字“SMS text”这就是短信内容的开头。
以上就是两个主体片段。WEB设计我用了bootstrap,也是简单易学,主要通过mysql记录,库里做标志位,这样一样即使关掉手机也不影响系统运行。
机器组装:
像我这些偏执狂,对SOLIDWORKS的3D建模也是必须掌握的了,设计好后丢3D打印机了4小时出样。同样的设计文件见文末。整机的主要涉及到一些射频知识,就是对于把天线外置还没什么,把天线内置则要重点考虑摆放位置了,多一个角度,少一个角度都影响信号的强弱。还有不能靠近高频电路。最底层放置锂电池,以及电源管理,侧面放置20mm散热器以及i2c时间模块,剩下就是nanopi_duo和五个C118了。过程一律带过,看图安装。
测试视频视频里屏蔽器的作用在于将3G4G网络迫降到2G源代码:https://pan.baidu.com/s/1eTR1AZg参考文献:http://bb.osmocom.org/trac/
http://osmocom.org/projects/baseband/wiki/GnuArmToolchain
相关文章推荐
- 制作一个老旧C118的GSM便携式测试设备
- 制作一个老旧C118的GSM便携式测试设备
- 制作一个自己的xhprof测试平台
- 一个简单字符型设备驱动及其测试
- 一个最简单的测试在/dev下生成字符设备的程序
- 使用PyQt4制作一个正则表达式测试小工具
- 制作一个适合各种Android设备的万能驱动.
- 制作一个简单的OSVR设备插件
- 一个最简单的测试在dev/下生成字符设备的程序
- 对一个U盘存储设备进行测试
- 一个简单的字符设备驱动程序和测试程序
- cisco 两个设备之间测试吞吐量的一个方法
- 打包测试 之 制作一个可以上传到 FIR.im 的 ipa 文件 - Ad-Hoc篇
- js:制作一个简易的计数器:根据输入的两个整数和运算符,进行计算,然后输出计算结果
- 昨天才会用VS2005制作一个非常非常简单的程序,有点晕啊!还是不会呢!
- 如何在 Linux 中不安装软件测试一个软件包
- 一个成功软件测试项目的经验
- 写一个函数,完成内存移动,并为其写一个简单的测试用例来进行测试
- (iphone/ipad)一个简单的用代码判断当前设备的方法
- C++::如何测试一个函数的运行时间