手机USB共享电脑宽带的尝试过程,从失败到成功

想直接看结果的,看2019-08-16更新的。

2019-06-30

2019-07-03更新

2019-08-16更新

2019-08-19更新


2019-06-30

手里有部旧手机,不用了所以没有装手机卡,现在只能用WiFi上网。但不是所有的地方都有WiFi,只有网线的地方该怎么办呢。我记得以前的安卓智能手机是可以通过USB共享电脑宽带的,比如小米手机。上高中时我是听别人说过,别的班有人用小米手机,共享教室电脑的网,再开热点给大家。所以我就想试试我的行不行,我的是OPPO A51在设置里找了找,没有这个选项,只有手机共享给电脑的选项。就上网搜了搜,网上搜出两种方案,一种自己配置,另一种是别人写好的软件,底层手机如何使用USB数据线共享PC网络其实也是配置那些参数。

这篇是讲自己配置 手机如何使用USB数据线共享PC网络 

这篇是借用软件 android reverse tethering(安卓手机usb连接电脑上网) v2.30 中文绿色版

然后我哪个也行不通,最后发现是这两种方案都不支持Android 5.0以上版本


2019-07-03更新

经过几日没日没夜废寝忘食的研究,终于找到一个方法可以让手机使用电脑的宽带上网了!!!

首先说说自己这几天的艰辛历程吧。在Reverse Tethering v2.30不行,又搜了v3.19版本的和v3.7版本的,均以失败告终。其中v3.7版本的提示出现error: only position independent executables (PIE) are supported.然后又百度PIE是啥。这东西是在Android 4.4之后添加了新的保护机制,可执行文件必须是采用PIE编译的。在android 2.x及4.0或更远古时代,系统在执行一个elf文件时,这个elf文件是固定加载到某个内存位置的。而后来llvm的出现,使得编译出来的elf文件,可以加载到内存中的任意位置,这种就叫pie。然后又搜解决方法,参考的这篇android可执行文件出现error: only position independent executables (PIE) are supported.试了试里边给出的解决方案,用root权限把系统目录下linker文件替换了,结果还是不行,替换之后用户组都不对了(怪我替换之前没查看原先的是啥),不过还好这是旧手机不使用了,随便玩。接着又发现原来防火墙没关,以为关了就能用了,结果还是不行。但能ping 通IP地址了,网址解析不了,说明是dns的问题。再接着又搜解决方案说Android 4.3之后配置dns命令变了,之前用的是setprop net.dns1 x.x.x.x ,其中x.x.x.x是你的dns地址。android 4.3之后通过DNS获取ip,采用netd代理,netd是一个守护进程。通过ndc命令可以配置DNS服务器:ndc resolver setifdns eth0 "" 8.8.8.8 8.8.4.4,参考的android 4.3以上修改DNS 及 流程(netd)。结果还是不行,root执行后提示错误代码4,查了查说是Interrupted system call(系统调用被中断),然后发扬屡败屡战的精神,接着试。想着既然通过命令行的配置dns不行,那就在手机上搭建一个,又去下载了一些手机dns的app,然并卵。正当一筹莫展准备放弃之际,突然搜到了解决方案!之前用Reverse Tethering这个软件时确切地知道不行是因为软件有个论坛链接,点进去(英文网站,软件是外国友人开发的)最后一页说5.0以上不行,网上有其他方案。这是那一页的链接https://forum.xda-developers.com/showthread.php?s=d3961ece6e4c8029f2eec67734b618f8&t=1371345&page=246目前是在最后一个,还是贴个图吧,万一以后又有新的评论了呢。手机USB共享电脑宽带的尝试过程,从失败到成功_第1张图片

当时我就想,为什么不给个具体的链接,让我少走点弯路MMP,不过也是让我坚持试下去的动力,因为知道肯定有解决方案。

说了这么多,该上干货了。在搜索关键词adb shell ndc 时偶然搜到了这篇,当时没注意,后来才发现下边有位仁兄给了一个4.0以上版本解决方案的具体链接

手机USB共享电脑宽带的尝试过程,从失败到成功_第2张图片

他这篇是讲的Linux和Android怎么设置的,但他还有一篇讲Windows和Android的手机USB共享电脑宽带的尝试过程,从失败到成功_第3张图片

当!当!当!当!按照里边的讲解,一顿操作猛如虎,完美解决还不用root,正在用的新手机也可以放心的使用该方法。

英语水平只有4级的我,读起来还可以吧,不会的词根据上下文也能猜出个大概意思。这里我就不给翻译了,现在的翻译软件也挺强悍的,网页上百度翻译就行。


2019-08-16更新

为了方便大家,此文是用Chrome翻译出的译文,文字都翻译成中文,但图片内容还是英文。

USB Reverse Tethering No Root无ADB Android(所有版本)和Windows 10

本指南允许您通过可为手机充电的通用USB电缆与Android设备共享Windows 10 PC 的Internet连接。如果您不能或不想在智能手机上使用WIFI并且您不想消耗数据计划中的流量,则此功能非常有用。限制手机无线连接使用的一个很好的理由是电磁污染会影响您的身体。但这是另一个故事。本指南的重点是,您的手机不需要植根。然后,我重复一遍,所有工作都没有生根宝贵的智能手机。不幸的是,这涉及到某些应用程序(但不是最重要的)至少需要虚拟使用数据连接,因为您无法安装Xposed模块来解决这些应用程序的愚蠢限制。但这是较小的邪恶。此外,本指南还适用于Lollipop以上的Android版本。本指南仅需要内置的Android usb网络共享功能和Windows 10 PC,因此它适用于所有Android版本,甚至无需在Windows上安装ADB(Android Debug Bridge)。它使用适用于Android和Windows的免费开源“open”程序。唯一的限制是它一次只适用于单个Android设备。

步骤

从这里或从下面下载“open for Windows” 。双击刚刚下载的文件以开始安装并确认Windows安全消息。

OpenVPN-Windows32bit

OpenVPN-Windows64bit

确保在安装过程中选择了所有组件。

 

手机USB共享电脑宽带的尝试过程,从失败到成功_第4张图片

 

当消息显示如下时,再次单击“安装”:

 

手机USB共享电脑宽带的尝试过程,从失败到成功_第5张图片

 

现在您可以在桌面上找到“OpenVPN GUI”。右键单击“OpenVPN GUI”并转到“属性”。转到“兼容性”选项卡,确保在权限级别“选择以管理员身份运行此程序”。单击“应用”,然后单击“确定”并关闭窗口。

在已安装的程序(开始菜单 - >所有应用程序)中搜索“生成静态OpenVPN密钥”,右键单击它并“以管理员身份运行”,然后在出现黑色命令提示符窗口时按确定。

从下面下载“android.o”文件:

android.o

并将其复制到“C:\ Program Files \ OpenVPN \ config”中。

现在双击桌面上的“OpenVPN GUI”启动程序。

 

手机USB共享电脑宽带的尝试过程,从失败到成功_第6张图片

右键单击开始菜单Windows标志(桌面左下角)并选择“网络连接”(或者如果您愿意,右键单击系统托盘中的小型监视器图标并打开“打开网络和共享中心”,然后在在新打开的窗口左侧转到“更改适配器设置”)。然后选择用于连接到Internet的网卡,右键单击它并打开“属性”。转到“共享”选项卡,选择“允许其他网络用户通过此计算机的Internet连接进行连接”,然后在“家庭网络连接”下选择与“TAP-Windows适配器”对应的网络适配器名称,如“网络”中所示您可以按上述方式访问的“连接”。

转到“C:\ Program Files \ OpenVPN \ config”,打开文件“key.txt”并复制其中的所有文本。从下面下载“smart.conf”文件,将其作为文本文件打开,并在最后两行“”“”之间复制“key.txt”的内容。

smart.conf

保存并将其移动到您的Android设备内存。

通过USB线将您的Android设备连接到Windows PC。在Android上启用“USB网络共享”(设置 - >无线和网络 - >绑定),如果需要,请等待Windows安装驱动程序。 如果出现,请在Windows请求上单击“是”以允许“此网络上的其他PC和设备可以发现您的PC”。

现在打开上面的“网络连接”。然后选择“远程NDIS”网络适配器,右键单击它并打开“属性”。双击“Internet协议版本4(TCP / IPv4)”并将IP设置为“192.168.42.128”,将子网掩码设置为“255.255.255.0”,将网关设置为“192.168.42.129”。单击“确定”并退出。

 

手机USB共享电脑宽带的尝试过程,从失败到成功_第7张图片

 

选中“打开网络和共享中心”(右键单击系统托盘中的小型监视器图标,然后打开“查看您的活动网络”,打开与“远程NDIS”适配器对应的网络的“打开网络和共享中心”) “私人”而非“公开”。

 

手机USB共享电脑宽带的尝试过程,从失败到成功_第8张图片

 

手机USB共享电脑宽带的尝试过程,从失败到成功_第9张图片

 

如果它是“公共”,左键单击开始菜单标志(桌面左下角),选择“设置”,然后选择“网络和Internet”,然后选择“以太网”,从右栏中选择您想要的以太网连接更改,然后设置为“打开”第一个选项“允许您的PC被此网络上的其他PC和设备发现......”。

手机USB共享电脑宽带的尝试过程,从失败到成功_第10张图片

手机USB共享电脑宽带的尝试过程,从失败到成功_第11张图片

 

手机USB共享电脑宽带的尝试过程,从失败到成功_第12张图片

手机USB共享电脑宽带的尝试过程,从失败到成功_第13张图片

断开USB连接线。

OpenVPNforAndroid-0.6.60

在Google Play商店(或从上方)安装设备上的“OpenVPN for Android”应用。最后打开“OpenVPN for Android”并在全局“设置”中取消选中“重新连接网络更改”选项。然后从右上角图标导入之前保存的文件“smart.conf”。保存新创建的配置文件,稍后从铅笔图标转到“路由”选项卡:在IPv4菜单中选择“使用默认路由”并退出。(可选)在主屏幕上创建一个“OpenVPN for Android”小部件,链接到您的个人资料。成品。

运行

现在,只需按照以下步骤通过LAN连接将智能手机连接到互联网。双击Windows桌面上的“OpenVPN GUI”(如果您还没有像我们上面所说的那样配置它,请确保右键单击“以管理员身份”运行程序)。在Windows系统托盘上,右键单击OpenVPN图标,然后按“连接”。最后通过USB线将您的Android设备连接到您的PC,在Android上的“设置 - >无线和网络 - >绑定”中启用“USB网络共享”,然后暂时启用您的手机数据连接(2G / 3G / 4G)并点按在您的“OpenVPN for Android”小部件(或“OpenVPN for Android”应用程序中的个人资料名称)上。如果你在顶部某处读到“成功”(日志屏幕),你就可以了。

如果您使用浏览器(如Chrome)或许多其他应用程序(如WhatsApp),则可以禁用手机数据连接。无论如何,一些应用程序(如Gmail,下载等)检查启动时是否存在无线连接(WIFI或3G),否则它们将无法启动或工作,因此它们至少需要启用数据连接才能工作。然而,所有互联网流量始终通过USB连接进行路由,因此您的数据计划是安全的。此外,出于同样的原因,您的身体会受到相当低的电磁污染。请享用!

 

手机USB共享电脑宽带的尝试过程,从失败到成功_第14张图片

手机USB共享电脑宽带的尝试过程,从失败到成功_第15张图片

注1:本教程假设USB网络共享模式下智能手机的IP地址为192.168.42.129,应该是这样。通过在PlayStore的“android terminal”应用程序中键入“netcfg”来检查这一点,并最终在上面相应地更改它,以及“Remote NDIS”接口的192.168.42.128地址。

注意2:如果在智能手机(或平板电脑)重新启动“远程NDIS”网络名称更改后,再次按照我们的说明将新的网络名称设置为“专用网络”,否则它将不再起作用。

注3:稍作修改后,本指南也适用于低于10的Windows版本。


2019-08-19更新

虽然能够使手机共享电脑的宽带了,但仅限于单个手机使用。手机无法通过WiFi热点的形式把电脑的宽带再共享出去,但反过来却行。手机开启USB共享网络给电脑后,手机再连上WiFi,是可以把WiFi的网络再共享给电脑端的。

为了实现这一目的又开始了研究。还去提问了一下https://ask.csdn.net/questions/773443。想着之前那个方法是VPN,不用VPN可不可以呢?电脑和电脑之间是有网络共享的,研究一下说不定或受到启发Internet Connection Sharing in Windows 10。看的头疼,还是搜具体问题吧android 手机通过 usb 共享电脑网络。以为找到了非VPN的方法,到最后发现这也是个VPN程序,不过比我之前找的那个精简,大概只有几百KB。然而这个也不能让手机无法通过WiFi热点的形式把电脑的宽带再共享出去。

你可能感兴趣的:(手机USB共享电脑宽带的尝试过程,从失败到成功)