摩托罗拉C
基本功能短信(SMS):中文短信动画屏保 日历功能闹钟功能计算器拍照功能摄像头:无娱乐功能游戏手机附件包装清单:锂电池,充电器
中文名
摩托罗拉C118
上市日期
2006年02月
手机类型
时尚手机
外观设计
直板
目录
1重要参数
2基本参数
3基本功能
4拍照功能
▪娱乐功能
▪手机附件
重要参数
编辑
网络模式:GSM[1]
外观设计:直板
手机类型:时尚手机
上市日期:2006年02月
手机昵称:C118
支持频段:GSM900/1800MHz
理论通话时间:390-700分钟
理论待机时间:140-300小时
机身颜色:电光银
手机尺寸:21.5×45.7×101.3mm
手机重量:86.3克
短信(SMS):中文短信
基本参数
编辑
手机昵称:C118
摩托罗拉C118
上市日期:2006年02月
手机类型:时尚手机
外观设计:直板
主屏色彩:单色
网络模式:GSM
支持频段:GSM900/1800MHz
理论通话时间:390-700分钟
理论待机时间:140-300小时
机身颜色:电光银
手机尺寸:21.5×45.7×101.3mm
手机重量:86.3克
基本功能
编辑
短信(SMS):中文短信
动画屏保 日历功能闹钟功能计算器
拍照功能
编辑
摄像头:无
娱乐功能
游戏
手机附件
包装清单:锂电池,充电器
词条图册
前提介绍:
上次我写了osmocombb配合c118嗅探短信的文章,很多朋友留言让我写搭建openbts的,对于openbts其实很简单,官方文档就可以,主要是很多的环境依赖对于新手来说不好安装。所以今天我就出一个详细的openbts搭建基站。
安装所需:
ubuntu12.0.4(系统)
openbts2.8
osmocom
libosmo-dsp
安装步骤:安装libosmo-dsp分之:
对于osmocom的libosmo-dsp分之,首先需要先安装osmocom,对于osmocom我之前写的文章很详细的写到了
在这篇文章的“六:下载并编译osmocomBB”,请安装下面的步骤来安装
下载所需要的
$ git clone git://git.osmocom.org/libosmocore.git
$ git clone git://git.osmocom.org/osmocom-bb.git
$ git clone git://git.osmocom.org/libosmo-dsp.git(openbts要用的)
在安装libosmocore执行./configure 的时候很多人会遇到No package ‘talloc’ found 这种错误,因为找不到talloc,下面是解决办法
$ wget
$ tar -zxvf talloc-2.1.7.tar.gz
$ cd talloc-2.1.7/
$ ./configure
$ make
$ sudo make install
安装libosmocore
$cdlibosmocore/
$autoreconf-i
$./configure
$make
$sudomakeinstall
$cd..
安装libosmo-dsp
$ cdlibosmo-dsp/
$ autoreconf-i
$ ./configure
$ make
$ sudomakeinstall
$ cd..
安装osmocom-bb
$ cdosmocom-bb/
$ gitcheckoutsylvain/testing
$ cdsrc
$ makeHOST_layer23_CONFARGS=--enable-transceiver
执行下面命令,刷入c118(如果刷入失败。。请检查你的c118是否接好)
下载安装openbts
下面所有操作都在root权限下所以获取root权限
$ su
下载openbts2.8
$svnco
(如果提示没有svn的话现在安装一下svn)
$apt-getinstallsubversion
(安装svn)
安装需要的依赖(很多人安装openbts各种错误就是因为环境依赖的问题)
$sudoapt-getinstallautoconflibtoollibosip2-devlibortp-devlibusb-1.0-0-devg++sqlite3libsqlite3-deverlanglibreadline6-devlibncurses5-dev
安装openbts(进入刚才下载openbts的目录里面有一个public目录)
$cdpublic
$cda53/trunk
$makeinstall
$cdopenbts/trunk
$autoreconf-i
$./configure
$make
$cdapps
$ln-s../TransceiverRAD1/transceiver.
$mkdir/etc/OpenBTS
(在etc下面创建目录存放openbts的配置文件)
$cd..
$sqlite3-init./apps/OpenBTS.example.sql/etc/OpenBTS/OpenBTS.db.quit
(openbts的配置文件)
$sudomkdir-p/var/lib/asterisk/sqlite3dir
$sqlite3/etc/OpenBTS/OpenBTS.db.dump
(查看数据库文件是否成功)
如果成功显示配置文件的内容那就成功了
安装sipauthserve(SIP鉴权服务)
然后我们在回到public目录安装sipauthserve
$cdsubscriberRegistry/trunk
$make
$sudosqlite3-initsubscriberRegistry.example.sql/etc/OpenBTS/sipauthserve.db.quit
(sipauthserve的配置文件同样在刚才openbts配置文件的目录)
安装smqueue(短信服务)
回到public目录
$cdsmqueue/trunk
$autoreconf-i
$./configure
$make
$sudosqlite3-initsmqueue/smqueue.example.sql/etc/OpenBTS/smqueue.db.quit(同样的smqueue配置文件)
好了现在全部都安装好了,咱们来开始启动openbts
第一步先刷入c118(注意下面的操作依然是root权限)
$osmocom-bb/src/host/osmocon/osmocon-p/dev/ttyUSB0-mc123xor../../target/firmware/board/compal_e88/trx.compalram.bin
第二步利用c118做openbts的收发器,ARFCN是基站信息,你可以扫描附近的基站,利用cell可以先扫描基站信息,找个最强的
$osmocom-bb/src/host/layer23/src/transceiver/transceiverARFCN
第三步启动openbts(新手朋友注意。这里是打开4个新的终端。。不是在一个终端里面执行)
$smqueue/trunk/smqueue/smqueue
$subscriberRegistry/trunk/sipauthserve
$openbts/trunk/apps/OpenBTS
$openbts/trunk/apps/OpenBTSCLI
启动成功后,咱们还有一步就是配置OpenBTSCLI(修改openbts的配置,这一步很重要)
启动OpenBTSCLI后,我们需要修改几处配置
$ config
(这条命令可以查看你的配置文件)
$ config Control.LUR.OpenRegistration .*
(修改Control.LUR.OpenRegistration可以让任何的手机加入基站)
$ config GSM.Radio.C0 ARFCN
(这里的ARFCN是 transceiver 监视的基站信息)
$ config GSM.Identity.MCC 001
$ config GSM.Identity.MNC 01
(MCC MNC 移动国家码,这里用001 01这是测试网络)
你手机应该会看见TestPLMH1-1(如果看不见就多试几次。。或者换基站。。毕竟是c118
最激动的时候到了测试短信
看到OpenBTSCLI终端窗口执行
$ tmsis
(查看链接到基站的ismi)
$ sendsms TMSIS number messege
(TMSIS就是刚才tmsis查看到的ismi,number就是你要发送过去的电话号码,messege是短信内容)
文档参考:
0x00 写在前面
大家应该都听说过摩托罗拉C118配合Osmocom-BB实现GSM网络下的短信拦截功能吧,在14年左右新出了一种玩法就是Osmocom-BB的sylvain/testing分支固件可以配合OpenBTS,,借助周围信号强度较大的ARFCN伪造出一个新的基站信号。不过由于摩托罗拉C118的问题,无法实现语音通话功能只可以发送短信(默认只可以发送英文短信,修改源码可以实现发送中文短信)
以下内容将会指导你怎样用Osmocom-bb兼容的手机(如c115,c118,c123等)当作OpenBTS的无线收发机.
0x01 环境
已顺利编译运行过Osmocombb的可继续往下看,否则请参考官方链接或优秀文章
首先安装libosmo-dsp库
先下载
$ git clone git://git.osmocom.org/libosmo-dsp.git
编译前需要安装fftw3
$ apt-get install libfftw3-3 libfftw3-dev libfftw3-doc
然后编译
$ cd libosmo-dsp$ autoreconf -i$ ./configure$ make$ make install
0x02 Osmocom-BB
采用sylvain/testing分支(具体可看WIKI)
先下载
$ git clone git://git.osmocom.org/osmocom-bb.git
再切换分支编译
$ cd osmocom-bb $ git checkout sylvain/testing
默认编译出的版本发送信号相关的功能是被注释掉的,用mobile启动layer23后会一直于搜信号的过程中,因为无法发送信号。
如果需要进行实网测试需要打开src/target/firmware/Makefile文件中的编译开关
把osmocom-bb/src/target/firmware下的Makefile中的DCONFIG_TX_ENABLE宏打开:
# Uncomment this line if you want to enable Tx (Transmit) Support.#CFLAGS += -DCONFIG_TX_ENABLE
然后到src目录下编译
$ cd src make HOST_layer23_CONFARGS=--enable-transceiver
0x03 OpenBTS
这里使用的OpenBTS的版本是OpenBts-p2.8(嫌手动编译麻烦的可以找我要DEB安装的教程),首先安装依赖
$ sudo apt-get install autoconf libtool libosip2-dev libortp-dev libusb-1.0-0-dev g++ sqlite3 libsqlite3-dev erlang libreadline6-dev libncurses5-dev
下载源码
$ svn co
然后编译安装(有不懂的可以前往WIKI查看详细资料)
$ cd a53/trunk$ make install $ cd openbts/trunk$ autoreconf -i$ ./configure$ make$ mkdir /etc/OpenBTS$ sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db .quit $ mkdir -p /var/lib/asterisk/sqlite3dir$ cd subscriberRegistry/trunk$ make$ sqlite3 -init subscriberRegistry.example.sql /etc/OpenBTS/sipauthserve.db .quit $ cd smqueue/trunk$ autoreconf -i$ ./configure$ make$ sqlite3 -init smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db .quit
安装OpenBTS后按照WIKI的说明配置/etc/OpenBTS/OpenBTS.db
$ apt-get install sqlite3 sqliteman(ubuntu系统安装,Kali自带sqlitebrowser无需安装)
然后在终端内输入sqliteman启动软件,打开/etc/OpenBTS/目录下的OpenBTS.db文件
Control.GSMTAP.TargetIP = 127.0.0.1 GSM.Radio.NeedBSIC = 1 GSM.Radio.Band = 900 GSM.CellSelection.Neighbors =(留空) GSM.RACH.MaxRetrans = 3 GSM.RACH.TxInteger = 8 GSM.Radio.C0 = (发射的频点,数值1-124之间) Control.LUR.OpenRegistration =.*
0x04 刷入固件
用osmocon程序将trx.compalram.bin刷入手机
命令
$ sudo ./osmocon -p /dev/ttyUSB0 -m c123xor ../../target/firmware/board/compal_e88/trx.compalram.bin
0x05 开始执行
到OpenBTS/apps目录下,将transceiver重命名为transceiver.bak新建脚本文件transceiver内容如下
#!/bin/bash exec your path to osmocom-bb/src/host/layer23/src/transceiver/transceiver ARFCN
your path to osmocom-bb替换成你自己的路径,ARFCN替换成附近信号最强的ARFCN号
赋予执行权限
chmod +x transceiver
然后开4个终端窗口分别执行
$ cd openbts/trunk/apps$ ./OpenBTS
$ cd subscriberRegistry/trunk$ ./sipauthserve(开启注册服务)
$ cd smqueue/trunk/smqueue/$ ./smqueue(开启短信功能)
$ cd openbts/trunk/apps$ ./OpenBTSCLI(打开OpenBTS控制台)
如果一切运行顺利打开手机进入 设置-移动网络-网络运营商 即可看到我们创建的基站
在OpenBTSCLI的终端窗口可以输入help查看命令帮助
输入tmsis可以查看当前基站用户的IMSI
输入sendsms IMSI 电话号码 短信内容 即可发送任意显示号码的短信
0x06 结语
一入GSM深似海,作者不是学通信的,只是业余爱好,第一次写文章投稿,文中不免纰漏和不妥之处,有任何建议或意见欢迎留言!
0x07参考资料
0x08效果演示
笔记
安装完一个全新的操作系统之后 首先进行一个更新 确保软件是最新的
执行 sudo apt-get updatesudo apt-get dist-upgrade -y
为了方便操作,这里安装一个多窗口终端 terminator , vim , aptitude , axel,sqlitebrowser
执行 sudo apt-get install terminator vimaptitude axel sqlitebrowser -y
接下来按照官方教程一步一步进行bts的配置
首先打开osmocombb官方的页面
在 Tutorials 这一项里边可以看到 CalypsoBTS with OsmoBTS/OpenBTS
这个页面详细介绍了使用廉价的 Calypso 手机配合 OsmoBTS 或者 OpenBTS 搭建BTS的过程
点击进去
第一部分描述了必备的一些准备工作,在配置bts之前必须先完成osmocombb的一个工作环境配置
进入
现在跟着步骤来进行搭建 osmocombb 的工作环境
由于编译 osmocomBB 的时候 依赖 GNU 的 autoconf, automake, libtool, pkg-config, make 和 GCC ,所以首先得安装好这些包或者软件
sudo aptitude install libtool shtool automake autoconf git-core pkg-config make gcc
对于osmocomBB和其他的几个 osmocom 项目,你还需要 libosmocore
点击
关于 libosmocore 的源码,可以在这里找到
由于编译 libosmocore 需要先安装一些工具
执行 sudo apt-get install build-essential libtool libtalloc-dev shtool autoconf automake git-core pkg-config make gcc 安装
还有一些可选的包最好也安装一下以防万一
sudo apt-get install libpcsclite-dev
现在你可以通过 git clone git://git.osmocom.org/libosmocore.git 来获得 libosmocore
执行下面的命令编译安装
cd libosmocore/
autoreconf -i
./configure
make
sudo make install
sudo ldconfig -i
cd ..
如果不需要 pcsclite 这个库,可以执行 ./configure --disable-pcsc 然后再进行编译
编译安装完成之后回到
看到如何需要编译 osmocomBB 或者 SIMtrace 需要GNU为ARM准备的toolchain
点击
创建一个目录叫 GnuArmToolchain 然后进入这个目录
然后下载自动化执行脚本 gnu-arm-build.3.sh
下载地址
为了编译 toolchain 需要安装一些包 (这里假设你使用的是Debian的发行版)
执行 sudo apt-get install build-essential libgmp3-dev libmpfr-dev libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dbg libncurses5-dev libncursesw5 libncursesw5-dbg libncursesw5-dev zlibc zlib1g-dev libmpfr4 libmpc-dev 安装
接下来创建几个必要的目录 mkdir build install src 然后进入 src目录下载编译需要的包,这里可以同时开启多个窗口下载
axel -n 100
axel -n 100
axel -n 100 ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz
下载完成之后切换到上级执行 ./gnu-arm-build.3.sh 进行编译(过程比较漫长)
编译完成之后 会显示
Build complete! Add YOURPATH/bin to your PATH to make arm-none-eabi-gcc and friends
accessible directly.
需要手动把那个地址添加到环境变量中,否则无法正确进行下面的arm交叉编译
[备注]执行 echo export PATH=$PATH:YOURPATH/bin~/.bashrc 添加到 ~/.bashrc
[备注]然后执行 source ~/.bashrc 使环境变量生效
接下来进行osmocombb的交叉编译
回到
git 回来osmocombb 的源码
git clone git://git.osmocom.org/osmocom-bb.git
cd osmocom-bb
git pull --rebase
切换osmocom-bb的分支
git checkout sylvain/testing
编译的时候启用收发器
切换到 src 目录执行 make 进行编译make HOST_layer23_CONFARGS=--enable-transceiver接下在准备好TRX
打开
收发器依赖 libosmo-dsp ,所以要先安装下
git clone git://git.osmocom.org/libosmo-dsp.git
cd libosmo-dsp/
autoreconf -i
./configure
make
sudo make install
cd ..
这个时候会报错 说 fftw3f 这玩意不存在,安装一下就好了
sudo apt-get install libfftw3-dev
然后接着刚才的操作继续编译
在BTS与手机之前有一个好的时钟是非常重要的,因为 Time-p>
可以只用GPS信号作为时钟源,但是有一个更加简单的方法从公共的移动网络中捕获时钟.
使用 RSSI 或者cell_log找到最强的基站并记住ARFCN的编号
openBTS部分 参考
首先升级git
$ sudo apt-get install software-properties-common python-software-properties
$ sudo add-apt-repository ppa:git-core/ppa
(press enter to continue)
$ sudo apt-get update
$ sudo apt-get install git
下载源码 git clone
git --version 检查版本
git version 2.9.1
切换到dev目录执行 ./clone.sh 漫长的等待之后 执行 ./switchto.sh master
【注意】
在执行编译之前强烈建议先在本地搭建一个web服务器,因为在编译的时候会去下载几个文件,下载非常缓慢
执行 ./build.sh SDR1 进行编译 经过漫长的等待 .... 然后就失败了 ,报错信息如下
wget
--2016-07-14 20:03:30--
正在解析主机 google-coredumper.googlecode.com (google-coredumper.googlecode.com)... 74.125.203.82, 2404:6800:4008:c03::52
正在连接 google-coredumper.googlecode.com (google-coredumper.googlecode.com)|74.125.203.82|:80... 失败:连接超时。
正在连接 google-coredumper.googlecode.com (google-coredumper.googlecode.com)|2404:6800:4008:c03::52|:80... 失败:网络不可达。
ERROR: command failed!
# ERROR: command failed!
很显然是因为我朝并不能直接访问 google得用梯子,搭好梯子再次执行编译 经过漫长的等待之后 会到一个下载文件的地方 就是下载
这三个文件,发现下载非常缓慢
这里有种快速下载的方法,使用高速下载工具比如 axel先把软件下载回来然后本地搭建web服务器,修改host重定向到本地,这样就能实现秒下
编译完成之后生成的文件在dev/BUILDS下面以时间命名的文件夹内
sudo dpkg -i BUILD-timestamp/*.deb 进行安装,这里会出现一些依赖文件,执行 sudo apt-get install -f 解决依赖问题
根据文档我们还需要修改OPenbts的配置文件在/etc/OpenBTS/OpenBTS.db,使用sqlitebrowser打开
Control.GSMTAP.TargetIP = 127.0.0.1
GSM.Radio.NeedBSIC = 1
GSM.Radio.Band = 1800
GSM.CellSelection.Neighbors = (set to empty string)
GSM.RACH.MaxRetrans = 3
GSM.RACH.TxInteger = 8
GSM.Radio.C0 = your ARFCN
Control.LUR.OpenRegistration = ^26242.*$ (这里只允许MNC为262或者42的终端被注册,写的是正则匹配,根据自己所在的地区修改,也可以设置为空)
接下在就是运行了,首先要确保openbts处于未运行状态,切换到OpenBTS的执行目录,创建一个名叫 transceiver 的脚本文件,内容如下
#!/bin/bash
exec your path to osmocom-bb/src/host/layer23/src/transceiver/transceiver ARFCN
注意这里的 ARFCN 是时钟源同步的那个基站,这个脚本需要可执行权限 sudo chmod +x transceiver
接着要在手机上运行TRX,刷机方式跟普通的gsm嗅探是一样的 sudo host/osmocon/osmocon -m c123xor -p /dev/ttyUSB0 -c target/firmware/board/compal_e88/trx.highram.bin
trx 固件在这 osmocom-bb/src/target/firmware/board/compal_e88/trx.highram.bin
当然也可以先刷rssi固件来找找信号最强的ARFCN
环境:
我用的是ubuntu12.04-i386(其实kali也可以)
一:更新系统
右上角进入软件更新,修改更新源(当然也可以命令修改vi /etc/apt/sources.list)
点击settings
software里面找到download from 修改自己国家的更新源
然后保存退出即可
现在打开终端
$ sudo apt-get update
$ sudo apt-get upgrade
二:接着安装一系列依赖
$ sudo apt-get install libusb-0.1-4 libpcsclite1 libccid pcscd
$ sudo apt-get install libtool shtool autoconf git-core pkg-config make gcc build-essential libgmp3-dev libmpfr-dev libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dbg libncurses5-dev libncursesw5 libncursesw5-dbg libncursesw5-dev zlibc zlib1g-dev libmpfr4 libmpc-dev libpcsclite-dev
(不要嫌多。。直接复制)
三:创建几个目录,下载ARM编译器
$ mkdir osmocombb
$ cd osmocombb
$ mkdir build install src
$ wget
$ cd src
$ wget
$ wget
$ wget ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz
四:安装gnu-arm-build.3.sh
$ cd ..
$ chmod +x gnu-arm-build.3.sh
$ ./gnu-arm-build.3.sh
看到这里直接回车即可(过程非常漫长,建议可以看个电影先。。)
五:安装完过后添加环境
$ cd install/bin
$ pwd
(查看路径)
$ vi ~/./.bashrc
export PATH=$PATH:/osmocombb/install/bin(最后一行加入,保存退出)$ source ~/.bashrc
六:下载并编译osmocomBB
回到osmocombb目录下载osmocom
$ git clone git://git.osmocom.org/libosmocore.git
$ git clone git://git.osmocom.org/osmocom-bb.git
在安装libosmocore执行./configure 的时候很多人会遇到 No package ‘talloc’ found 这种错误,因为找不到talloc,下面是解决办法
$ wget
$ tar -zxvf talloc-2.1.7.tar.gz
$ cd talloc-2.1.7/
$ ./configure
$ make
$ sudo make install
安装libosmocore
$ cd libosmocore/
$ autoreconf -i
$ ./configure
$ make
$ sudo make install$ cd ..
编译osmocombb
$ cd osmocom-bb
$ git checkout --track origin/luca/gsmmap
$ cd src
$ make
七:修改问题文件(如果你是gnu-arm-build.2.sh并且没有出现cell扫描不动的问题,请跳过这一步)
进入osmocom-bb找到这些文件并修改他们
vi osmocom-bb/src/target/firmware/board/compal/highram.lds
vi osmocom-bb/src/target/firmware/board/compal/ram.lds
vi osmocom-bb/src/target/firmware/board/compal_e88/flash.lds
vi osmocom-bb/src/target/firmware/board/compal_e88/loader.lds
vi osmocom-bb/src/target/firmware/board/mediatek/ram.lds
找到里面的这一串代码
KEEP(*(SORT(.ctors)))
在下面加入
KEEP(*(SORT(.init_array)))
列如:
保存即可,全部修改好,在进入osmocom-bb/src重新编译一下
$ make -e CROSS_TOOL_PREFIX=arm-none-eabi-
八:插~入你的118刷入固件
还是在osmocom-bb目录
$ cd src/host/osmocon
$ sudo ./osmocon -m c123xor -p /dev/ttyUSB0 ../../target/firmware/board/compal_e88/layer1.compalram.bin
回车出现这样等待的时候按一下你c118的开机键,按一下就可以
如果这样是刷入失败,看一下你的c118连接线,如果你是买的新手机建议把线插紧一点。。最好把壳拆下来
九:扫描基站信息
打开新的终端还是在osmocom-bb目录
$ cd src/host/layer23/src/misc
$ sudo ./cell_log -O
接着输入
$ sudo ./ccch_scan -i 127.0.0.1 -a ARFCN
ARFCN就是上面图圈出来的那个值,列如
$ sudo ./ccch_scan -i 127.0.0.1 -a 59
十:安装wireshark
打开新的终端
$ sudo apt-get install wireshark
$ sudo wireshark -k -i lo -f port 4729
在filter输入 gsm_sms
接下来静静的等待吧。。。
最后,自己玩去吧。。
对于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
在猿前辈的smsweb.py 的成果基础上做了修改,增加了管理员登录验证、号码归属地和通讯录数据表;支持号码、信息的模糊查询功能,便于分析统计数据;最近一次的arfcn扫描结果可保存在数据库,上次监听的 arfcn也保存在数据库。
硬件做了一点改动,开机键焊了一根线,接4.7uF电容到dtr做免按键开机。不使用笨重的arduino+继电器牛刀杀鸡,用一个pnp管做电源开关,用ft232的dtr做控制,节能环保,便于将来小型化可移动化,目前可实现全软件控制C118重启、刷机、监听功能。
有时候osmocon日志报错:TOA AVG is not 16 qbits, correcting (got 15) ,后台程序启动一个监控进程,发现3行连续的got 15错误后就自动重启、刷机、监听,整个过程大概10秒,多少会丢一些信息。
配合灵雀云免费主机ssh隧道做端口反向映射,可外网访问页面进行控制,可以放那跑几天不用管,基本上算是比较完善的懒人版了。
其实,做这个完全兴趣爱好,C118是干什么的我也不知道,图也是我用mspaint画的,原图版权是猿前辈的,所以代码这里就不提供下载了。
20160815改进版本:
1. 不同的arfcn 信息可以用不同的颜色显示。
2.后台监控进程改进:如果某个arfcn的osmoncon进程日志超过1分钟没有任何变化,则重新刷机。
3.扫描基站时可以指定用哪个手机。(实测,不同的手机扫描到的结果竟然不同!原因未知。所以,最好每部手机都单独扫描,选择合适的arfcn去监听。)
4.可清空数据库里的测试信息(test.py)
5.增加一个canvas制作的坐标曲线图,用于显示某段时间里后台监控程序的自动重新刷机的记录。(还不完善)
简谱摩托罗拉zforce
之前我从咸鱼上买到的摩托罗拉,现在到货了,我也是使用了几天。嗯,可以尝试着去评价一下他。
摩托罗拉是一家非常老的智能手机公司。
早在上世纪80年代,摩托罗拉就发布了世界上第1款手机。当阿姆斯特朗乘坐阿波罗11号抵达月球时的提升就是通过摩托罗拉传播的。曾经的摩托罗拉创造了无限的风光。而如今摩托罗拉的风韵早已不再当年。接连被谷歌和联想收购。即使是这么老的公司,也逃脱不了和诺基亚一样的命运。
当摩托罗拉移动电子部门还在本部的时候,发布的XT里程碑系列吸引了无数年轻一代的目光。当时非常新颖的4排全键盘,给人留下了非常深刻的印象。早年的摩托罗拉设计产品的时候非常注重多功能和多媒体兼容。并对某些产品推出了设计十分新颖的手机坞站,可以连接电视机,甚至可以在它的多功能台式机上使用。(类似锤子科技TNT工作站)这种思想也继承到了如今的摩托罗拉身上。在经历了公司裁员之后.剩下的也只有情怀和多功能以及使用安卓系统这几点和曾经一样了。
在被联想收入旗下的时候,摩托罗拉推出了MOTO X智能手机。它的最大特点是可以将后盖拆下来,并且可以换成其他的图案。创这也创造了手机定制化的先河。后来的小米4后盖定制系统也是照搬了摩托罗拉。
时间来到2015年。被联想收购的摩托罗拉移动电子部门重新回到了中国市场,并在1年后的九月发布了moto Z及moto Z force智能手机。他搭载有骁龙820处理器,拥有4GB LPDDR4内存,并配备5.5英寸2K分辨率AMOLED触控屏和配备正面指纹识别功能,并预装Android 6.0.1系统。采用防碎屏技术,配备了3500毫安时电池 。他的最大特点就是在背后有一条金属触点带,可以连接上moto mods,达成更好的用户体验。
moto mods 可以通过四个内嵌的磁吸点和16个pogo pin点(23K镀金)吸附在moto z系列手机上。它与手机完美连接,且可以很方便的更换。同时,联想还斥资9亿开发了moto mods开发者计划。
Moto Z2force是和Moto Z2同时发布的,只不过知名度较小。他搭载了骁龙835处理器,并提高到了最高支持128GB内存和8G运存。同时也支持外置内存卡。配备了2730毫安电池,并预装Android8.1.0系统。
只不过没法在官网及百科上找到这款产品。以下是我在安兔兔上找到的:
首先是好的地方,1,屏幕较大。这满足了我对于某些大型游戏的感受得到了更好地提升。2,模块化,
魔电模块
哈苏相机模块(魔眼)
魔印模块
这极大的提升了我的体验感受。在干不同事情时拿出不同的模块,不仅可以装X,还可以做到轻便,快捷。这是其他智能手机厂商做不到的。3,快捷手势。这真的极大的,方便了我的手机使用打一个像罗永浩一样的比方,那就是别人打开相机或者手电筒要3~5步,我翻一翻手机就可以了。
虽然有这些优点,但他的缺点也是非常明显的。1,价格。虽然手机并不贵,但模块贵啊。一个相机模块二手最低都要卖到400+,比一部手机还贵。并且如果不带模块,就是一个非常尴尬的产品,拍照差,音响差,成相差,而且z系列经典的helloMOTO语言助手都没了。3,耗电太快。Z2F如果不加电池模块,仅仅一个上午就能消耗掉大半的电量。这几点使得他与ph1,ratel 手机并称为“洋垃圾”。
总体来讲,对于学生党来说,MOTO Z2 Force是一个很好的选择,但对于重度用户及商务人士来说,还是不建议的。
好了,这次的测评就到这里了。希望各位观众老爷们能给我一个三连。我是新人Up主,写的不好还请多多海涵。
摩托罗拉手机怎么样
摩托罗拉算是一个国际的大品牌,摩托罗拉的手机应该是非常受欢迎的一个品牌,近两年其手机销量下降了一些。
目前摩托罗拉移动是被谷歌收购,目前摩托罗拉生产的手机大多是和谷歌一起的。
|摩托罗拉C
摩托罗拉C 摩托罗拉手机怎么样 简谱摩托罗拉zforce