如何通过USB设置反向网络共享?


125
  1. 我的HTC G2手机已植根并运行Cyanogenmod 7
  2. 我没有数据计划。
  3. 有时我想在没有Wi-Fi的情况下将手机连接到Internet,以更新Market应用程序,将SMS消息备份到Gmail,从Gmail同步新联系人,等等。USB大容量存储模式无法实现的功能。
  4. 我有一台连接到Internet的Windows 7 Professional计算机,但是不允许建立临时Wi-Fi网络。(如果我这样做,他们会注意到并追捕我。)

手机是否可以通过USB连接到计算机来访问Internet?如果是这样,我该如何设置?


这看起来像是部分解决方案:forum.xda-developers.com/showthread.php?t=1371345
endolith 2012年

Answers:


46

我最近发现了SimpleRT,它可以与Linux(以及显然的OSX)一起很好地工作。只需在设备上启用USB调试(无需root用户),在设备上安装从该页面链接的APK,然后通过USB将其连接到PC,然后在PC上运行二进制文件即可。

它将把连接设置为VPN隧道(tun0默认情况下),并且您的设备应提示您(a)允许SimpleRT创建/监视VPN连接,以及(b)将设备配置为a时是否运行它特定的USB附件(二进制文件就是这样做的)。

该项目不包含预构建的二进制文件,因此我已经上传了我为Ubuntu构建的二进制文件。


以下是应该在Linux或Windows上运行的手动方法:http : //blog.mathieu.carbou.me/post/60454997009/reverse-usb-tethering-with-android-2-2

第1步:

对于Windows:从Android SDK安装USB驱动程序

对于Linux:无事可做

第2步:

在Nexus One上:连接USB电缆并激活USB网络共享。您应该在linux或Windows上看到一个新的网络接口。

步骤3:

在Linux计算机上,设置网桥:

# usb0 is the new network interface
# eth0 is the main interface connected to internet (or a gateway)

sudo ifconfig eth0 0.0.0.0  
sudo ifconfig usb0 0.0.0.0  
sudo brctl addbr br0  
sudo brctl addif br0 eth0  
sudo brctl addif br0 usb0  
sudo ifconfig br0 up  
sudo dhclient br0

请参阅https://help.ubuntu.com/community/NetworkConnectionBridge设置网桥

在Windows上,桥接2个网络接口

第四步:

设置手机的usb0界面。您必须选择:

  1. 在您的计算机上执行:

    ./adb外壳netcfg usb0 dhcp
  2. 或在手机的根终端中,键入:

    su
    netcfg usb0 DHCP

现在,您应该能够使用计算机的Internet连接通过手机连接到Internet。

请务必执行ping www.google.com的操作!

步骤5:

要关闭反向绑定,首先要在计算机上解除桥接接口:

须藤ifconfig eth0下  
须藤ifconfig usb0下  
须藤ifconfig br0下来  
sudo brctl delbr br0  
须藤ifconfig eth0向上  
须藤dhclient eth0

然后在手机上,取消选中“ USB共享”选项!

您还可以使用Windows创建一个WiFi网络(使用Connectify)并将您的设备连接到该网络:http : //www.nexusoneforum.net/forum/nexus-one-faq-how-tos/3133-reverse-tether-getting -internet-your-phone.html


3
在我的手机中,“ netcfg usb0 dhcp”应为“ netcfg rdnis0 dhcp”
diyism

3
在我的cyanogenmod 13上,找不到netcfg :(
maf-soft

1
LineageOS仍然缺少netcfg。您可能需要使用busybox。 android.stackexchange.com/questions/141900/...
卡米尔Goudeseune

在运行时,sudo ifconfig usb0 0.0.0.0 我得到SIOCSIFADDR:没有这样的设备usb0:获取接口标志时出错:没有这样的设备
user1917769

@ user1917769您必须弄清楚设备是否为USB接口命名(如果不同)。
马修(Matthew)阅读了

19

还有更多可能-但我所知道的所有这些都需要有根设备。

使用反向系绳应用程序

首先,Play商店免费提供了一个名为Reverse Tether的应用程序(这是一项有限的试用,它限制了您可以连接的时间-但至少您可以通过这种方式测试您的设备是否完全受支持;完整版本为约合5美元)。根据AndroidAuthority上的一篇文章,设置应该像1-2-3一样简单:插入USB电缆,启动应用程序,让它自动配置(也可以进行手动配置),然后就可以进行设置。您也可以让它在找到USB连接时要求您连接。

使用Wifi的手动方法

我知道,这不是USB,但是为了完整性(并提供替代方案),我想我也可以添加以下内容:

摆弄系统并打补丁

也可以使用几种手动方法(例如在XDA上进行了描述)-但它们在技术上大多很复杂,希望您修补系统文件。不是针对每天的用户,而是针对技术怪胎。

码头走

但是,另一种不错的方法是仅在终端中包含3条线路,并在此处的帖子中进行了介绍,以连接到特定的Wifi网络。基本上,它应该像这样:

su
ifconfig wlan0 up
iwconfig mode auto;
iwconfig wlan0 essid "your SSID" channel 11 mode auto
ifconfig wlan0 10.0.0.x netmask 255.255.255.0

处理一些配置文件

此处还介绍另一种非常简单的方法,该方法涉及wpa_supplicant.conf一次编辑文件(手动添加临时Wifi网络)。

简易方法

我真的需要说吗?使用Wifi路由器。甚至还有一些不到50美元的小型“旅行路由器”。然后像连接旧版Wifi网络一样连接手机。



2

我在xda-developers论坛上找到了一个反向绑定的好工具。这称为Android反向网络共享。它可与Windows一起使用,并且需要有根电话。
它在运行MIUI v4的HTC Desire HD上运行良好。


我正在使用此软件,它在mt galaxy s duosgts7562上运行良好。我可以通过反向绑定使用所有与Internet相关的东西。
Jasser 2015年

要使用youtube和其他此类应用,您需要单击“安装hack”按钮,然后就可以开始使用了。
Jasser 2015年

2

Android反向绑定步骤:

注意:仅在植根的Android手机中工作。

  1. 通过USB连接Android设备。
  2. 启用USB网络共享。为此,请转到设置→更多...→网络共享和移动热点→USB网络共享

  3. 在主机上,网络管理员可以检测到USB共享连接。
    其名称类似于“有线连接2”(或3)。
    您必须将其“ IPV4 /方法”编辑为“共享到其他计算机”。

3.1。没有网络管理器,您将必须手动执行以下操作:

    $ sudo ifconfig usb0 10.42.0.1 netmask 255.255.255.0 
    $ echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

现在,说明在这里第一步结束,你必须修改iptablessudo iptables -t nat -A POSTROUTING -j MASQUERADE。但是...如果可能的话,最好让网络管理员来做。

  1. 在Android设备上,您可以使用su那里的终端或通过使用ADB在主机上发出以下命令:

    $ adb shell su -c "netcfg rndis0 dhcp"
    

    如果没有获得IP地址,或者您正在使用某个应用程序需要静态IP地址(例如“ Webkey for Android”应用程序),请手动为其分配:

    $ adb shell su -c "ifconfig rndis0 10.42.0.2 netmask 255.255.255.0"
    $ adb shell su -c "route add default gw 10.42.0.1 dev rndis0"
    

现在,互联网将在Android手机中运行。

要在adb shell或android终端上进行检查,请尝试命令ping www.google.com

这个对我有用。


1
我的设备的netcfg似乎更受限制,步骤4的手动版本失败了: no such action '10.42.0.2' usage: netcfg [<interface> {dhcp|up|down}]
Matthew阅读了

1
@MatthewRead命令是错误的,实际上是ifconfig rndis0 10.42.0.2 netmask 255.255.255.0,顺便说一句,看到所有接口都是netcfg单独的。类似的说明在这里
Aquarius Power

2

对于无根设备

我知道这是一个较晚的答案,但是由于所有现有答案都表明,只有当您的设备已植根或具有对反向绑定的系统支持时,才可以进行USB反向绑定,但我值得指出的是还有一个选择:

我一直在寻找可以在无根设备和MacBook上使用的反向网络共享解决方案,但是我什么都找不到。最终,我开始开发自己的解决方案。结果是一个应用程序可以在客户端运行Android 4.0或更高版本的设备上运行,并且在主机端可以运行所有主要的台式机操作系统。

ReverseTethering NoRoot应用程序

该应用程序可在Google Play上使用:反向绑定NoRoot


1
我无法在Windows或Ubuntu上连接它,但它似乎在OSX上可以工作。
马修(Matthew)

给我发送电子邮件,我会尽力帮助使其在Windows和Ubuntu上运行。
FD_

2

我知道这是一个更晚的答案,但是值得一提。

无需生根!

无需安装任何应用程序!*如果您没有其他互联网连接,这甚至是不可能的。

有一个名为gnirehtet的项目。

  1. 在主机PC上安装adb(Windows / Linux / Mac)
  2. 将gnirehtet zip文件下载到主机
  3. 解压缩
  4. 运行命令

而已!有关更多信息,请在其网站上阅读gnirehtet的自述文件。

* =在后台,它将通过USB连接将apk文件安装到您的设备上。


这里只有跨平台的全功能非商业答案。甚至Google Play都可以连接(Android 9 Pie)。
cdlvcdlv
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.