HI,大家好,休息了一段时间后终于有空来继续我们的骚操作。前面一节讲的是整体的网络结构,这里我们就要具体实现如何在安卓系统里同时访问WIFI和4G网络。整体网络结构如下图所示:
具体在操作上分解如下:
1 在Android系统里安装独立运行的linux系统(linux deploy)
2 在linux deploy里启动wifi模块并连接wifi
3 与此同时Android系统的4G功能正常开启
最后我们得到的结果是,手机正常访问4G网络,而linux deploy访问的却是wifi网络,后续工作中我们只需要在linux deploy中运行一个python程序,手机中再运行另一个python程序,这两个python程序再通过127.0.0.1这个地址交互,以此就实现了一个手机同时访问两个不同的网络的骚操作,为未来更骚的操作打下了良好的基础。下面我们就大概讲一下具体的操作过程,由于篇幅所限,这里我就不写太详细了,但是我会提供参考教程链接和一些关键点。
一、手机获取root权限
工欲善其事,必先利其器,手机的root权限是必须的。我使用的手机是华为P7,root工具是“root大师”,因为华为有个加锁的概念,所以过程比较曲折,反复试了好几遍才成功,中间差点变砖。所以这里建议大家一定要用废旧手机来耍哦。
二、安装linux deploy及相关环境
Linux deploy是一款运行在安卓系统上的linux系统,安装可以参考这篇文章,写的很详细了:
https://blog.csdn.net/weixin_38235758/article/details/79219050
在安装linux deploy过程中,被一个小问题困扰了很久,那就是现在很多手机已经没有“SDCARD”的概念了,基本全都是使用内部存储,所以在配置时要特别注意这一点。
这里我们需要安装的三个工具:
1 busy box 使用linux deploy的前置工具
Busy box的设置中要注意,将install path设置为“${ENV_DIR}”(前面说的没有sdcard的问题)
2 linux deploy 安装和运行linux镜像
Linux deploy需要注意的是有两个不同类型的设置,要先设置软件本身,将PATH变量设置为“${ENV_DIR}”。
接着设置镜像,将“发行版GNU/Linux”设置为“CentOS”版本为7
源地址换成国内的阿里云https://mirrors.aliyun.com/centos-altarch/
安装类型改成“目录”
启用SSH要勾上
3 JuiceSSH 这里我没有使用前面教程中的ConnectBox,这个JuiceSSH挺好用的。
需要注意,不要在电脑上用ssh工具去连接手机上运行的linux,不是说不可以,而是后面操作不在本机进行会有点麻烦,所以需要在手机上安装ssh工具登录linux镜像(linux deploy只是运行了linux系统,图形界面默认不提供)
三、Linux上安装并运行wifi工具
前面的操作完毕,且成功安装centos7后,你就可以启动该镜像,并使用JuiceSSH登录这个镜像(这里我使用127.0.0.1)。这个centos7比较原生,所以我们还需要安装一些工具才行:
yum install –y net-tools make automake gcc wget
因为要同时连接两个网络,所以你需要先断开wifi连接,这里断开不是要关闭wifi的功能,而是先开启wifi功能,如果你自动连接了某wifi信号,需要长按该wifi然后选择“不保存”。这样就实现了4G信号开启,wifi功能开启但没有连接到任何wifi信号(连接wifi信号后会自动关闭4G)。
然后你要搞明白你要连接的wifi是什么加密方式,如果加密方式为wep则使用iwconfig连接wifi,如果加密方式为wpa则使用wpa_cli来连接wifi。加密方式可以在wifi属性中看到。
1 加密方式为wep
或者wifi没有加密的情况下都可以使用iwconfig,这个工具貌似有点老了,所以不建议使用,另外我没试过wep能不能用wpa_cli来连接(想来应该是可以的)所以这里我就不多说,感兴趣的可以百度一下iwconifg相关操作方法。不过iwconfig我是安装了的,需要自己手动下载安装包编译安装,不知道会不会影响到后面的操作,这里建议是安装上比较心安:
https://blog.csdn.net/z1014347942/article/details/77899630
按上述教程下载、解压、make、install即可,教程后面的操作不用理会。
它还漏了一个操作,需要在”/etc/ld.so.conf”文件末尾添加一句”/usr/local/lib/”然后运行ldconifg命令。
2 加密方式为wpa
wpa_cli安装centos7时是自带了的,所以可以直接使用,可以参考这篇文章:
http://blog.sina.com.cn/s/blog_15e89db360102x7qv.html
需要注意几个要点:
wpa_supplicant是wpa服务的server程序,wpa_cli是client程序,所以如果wpa_supplicant运行参数输错了,需要手动杀掉相应进程。
一定要注意ssid和psk都是使用的双引号。
最后使用dhcp使网卡wlan0获取IP的命令除了dhcpcd还可以用dhclient。
四、测试
通过前面的操作,你现在应该是已经成功同时连接wifi 和4G信号,虽然手机显示当前连接的是4G。在centos里输入指令:
curl ifconfig.me 可以获取当前centos系统的公网IP
然后用手机打开网页,百度“IP”关键词,则可以查到手机的公网IP
你会发现这两个IP不一样的!
如上,我们简单地描述了一下如何在安卓系统中同时使用wifi和4G信号,由于时间所限没有写的很详细,但是我相信以大家智慧的小脑瓜应该能搞明白的。下一节我就要试试在centos和手机分别运行python程序,并通过127.0.0.1这个地址实现信息的中转。后续如何请继续关注我的博客吧。
作者: 布兰姥爷, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3887969.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
curton 2019-5-22 08:13
curton 2019-5-15 21:25
curton 2019-5-14 15:28
curton 2019-5-13 16:20
quw431979_163.com 2019-5-13 09:04