手机用的联通卡,公司里联通信号不好,动不动显示没有网络,想接入公司WIFI又需要申请、签单并签一堆东西,看着烦。心想电脑都可以通过USB使用手机的USB共享模式使用手机的网络上网,那反过来行不行?手机通过USB反向使用PC的网络进行上网,于是乎百度上乱搜了一顿,试了很多方法或软件,什么 reverse tethering,电脑网卡允许共享什么的, 都不行,最后找到了一款软件,gnirehtet 完美的实现了需求,在此记录一下,分享给有类似需求的人。
一、软件介绍
gnirehtet 官网地址 https://github.com/Genymobile/gnirehtet
当前最新版本2.5,只支持android 系统, 支持Windows,Linux,MacOS 三种PC平台,当前仅支持IP4,未来可能会支持IP6
软件分为服务器端和客户端,服务器端运行在电脑上,客户端运行在安卓手机上,通过USB线进行连接
客户端和服务端都是没有UI界面的,只能通过在PC端cmd窗口下运行命令进行控制
二、安装环境
gnirehtet 软件有两种版本,一种是Rust语言开发的,一种是java语言开发的,若要使用java版本的,则必须且只能安装java8(jre)
本次实践环境:
PC: win10 x64
手机: 安卓9.0(小米Note3)
gnirehtet 选择 Rust 版本
三 安装步骤
- 手机和PC通过USB线连接,确保连接稳定并处于充电模式
-
打开官网,下载Rust版本的gnirehtet,并选择windows平台进行下载
image.png -
下载 adb 工具包
image.png -
新建文件夹gnirehetet将两个压缩包内的文件全部放在新建的gnirehtet文件夹内
image.png -
手机开启USB调试模式,小米note3手机是依次:
设置 >我的设备>全部参数,找到MINU版本的位置,
image.png
image.png
image.png
在版本号的位置单击7次,会提示打开开发者模式
image.png
开发开发这模式后,返回设置界面,在更多设置界面内找到开发者选项,进入开发者选项后,勾选USB调试、USB安装、USB调试(安全设置)这三项
image.png
操作期间,若是安卓5.0以上版本,貌似会弹出安全警告,一路允许即可
同时,手机端会出现请求USB调试的界面,请务必允许
其他类型手机,请自行百度查看如何打开USB调试模式
-
我的gnirehtet 文件夹在 E:\SoftWare\mobile\gnirehtet,打开cmd窗口(快捷键win + R 出现运行框后,输入cmd 即可)
image.png -
在cmd窗口下 ,通过cd 命令,进入到gnirehtet文件夹内,输入 gnirehtet install
我的gnirehtet文件夹是在E:\SoftWare\mobile\gnirehtet,注意此gnirehtet install命令是在手机端安卓客户端apk,此时必须开发允许USB安装软件,
image.png
6.看到 gnirehtet install 执行success 的提示说明,安装成功
若未出现以上提示,则很有可能是USB调试的选项没有打开,或者没有下载platform-tools中的adb工具,请严格检查以上步骤,确保文件和权限和我的一样的
7 继续执行 gnirehtet run ,注意此步骤必须要打开USB调试 (安全设置) 这项
4 ~7 步骤中手机端会出现请求USB调试的提示,请务必允许,
当手机状态栏会出现VPN字样,同时下拉会出现gnirehtet的通知信息时,恭喜你安装和连接成功,
-
关闭WIFI和移动网络,打开浏览器上网试试看吧。
image.png
我的手机关闭了WIFI和移动网络,但是成功的打开了网页,很神奇吧
结尾
到此,手机端已经可以通过USB访问PC的网络了,值得注意的是若PC端的上网没有任何限制的话,次教程到此就结束了,若PC端是想我们公司一样,通过输入上网账号进行授权的话,那还需要最后一步,通过拦截工具强行对gnirehtet软件进行上网的认证或者是(带里),由于涉及到敏感话题,在此不做详述,若有需要此拦截工具,可以私信,看到就会回复。