我的HTC G2手机已经植根并且正在运行Cyanogenmod7。
我没有数据计划。
有时我想在没有Wi-Fi的情况下将手机连接到互联网,来更新Market应用程序,将SMS消息备份到Gmail,从Gmail同步新联系人等。使用USB大容量存储模式无法完成的事情。
我有一台Windows 7 Professional计算机已连接到Internet,但是我我不允许建立即席Wi-Fi网络。 (如果这样做,他们会注意到并追捕我。)
手机是否可以通过USB连接到计算机来访问Internet?如果是这样,我该如何设置?
#1 楼
我最近发现了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个网络接口
步骤4:
设置手机的usb0接口。您必须选择:
在计算机上执行:
./adb shell netcfg usb0 dhcp
或者在手机上的根终端,键入:
su netcfg usb0 dhcp
您现在应该能够使用计算机的Internet连接来连接手机上的Internet。
尝试执行ping www.google.com以确定!
步骤5:
要关闭反向绑定,首先要取消桥接接口在您的计算机上:
sudo ifconfig eth0 down sudo ifconfig usb0 down sudo ifconfig br0 down sudo brctl delbr br0 sudo ifconfig eth0 up sudo dhclient eth0
然后在您的手机上,取消选中“ USB共享”选项! nexusoneforum.net/forum/nexus-one-faq-how-tos/3133-reverse-tether-getting-internet-your-phone.html
评论
在我的手机中,“ netcfg usb0 dhcp”应为“ netcfg rdnis0 dhcp”
– diyism
2014年8月28日上午10:47
在我的cyanogenmod 13上,找不到netcfg :(
– MAF-SOFT
16年8月26日在14:48
LineageOS仍然缺少netcfg。您可能需要使用busybox。 android.stackexchange.com/questions/141900/…
– Camille Goudeseune
17年7月15日在19:54
在运行sudo ifconfig usb0 0.0.0.0时,我得到了SIOCSIFADDR:没有这样的设备usb0:获取接口标志时出错:没有这样的设备
–user1917769
18年4月1日在19:07
@ user1917769您必须弄清楚设备是否为USB接口命名。
–马修·雷德(Matthew Read)
18年4月1日在19:38
#2 楼
还有更多可能-但我所知道的所有这些都需要有根设备。使用反向系绳应用程序
首先,有一个名为反向系绳的应用程序可用于免费在Play商店上购买(这是有限的试用版,它会限制您可以连接的时间-但至少您可以通过这种方式测试您的设备是否受完全支持;完整版的价格约为5美元)。根据AndroidAuthority上的一篇文章,设置应该像1-2-3一样简单:插入USB电缆,启动应用程序,让其自动配置(也可以进行手动配置),然后就可以进行设置。您也可以让它在找到USB连接时要求您连接。
使用Wifi的手动方法
我知道,这不是USB,而是为了完整性(并给出替代方案)我想我也可以添加这些方案:
适应系统并修补
也可以使用几种手动方法(例如在XDA中进行了描述) -但是它们在技术上大多很复杂,希望您修补系统文件;
Terminal and go
但是,另一种不错的方法应该只在终端中包含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网络一样连接手机...
#3 楼
嘿!有一个适用于Android Usb端口转发的应用程序http://www.codeproject.com/kb/android/usbportforwarding.aspx
我有点困惑如何使用它,请告知它是否工作正常。
评论
这显然需要除计算机本身以外的代理,并且仅支持Web浏览吗?
– Endolith
2011年6月6日19:05
它说它使用端口8080,不一定将其限制为Web浏览,不是吗?我以为市场可以使用此功能,但是市场使用5228之后的功能。
–史蒂夫
2011年11月11日14:01
#4 楼
我知道这是一个更晚的答案,但值得一提。无需生根!
无需安装应用程序!*如果您这样做,甚至不可能!没有其他互联网连接。
有一个名为gnirehtet的项目。
将adb安装到主机PC(Windows / Linux / Mac)
将gnirehtet zip文件下载到主机
将其解压缩
运行命令
就这样!有关更多信息,请在其网站上阅读gnirehtet的自述文件。
* =在后台,它将通过USB连接在您的设备上安装apk文件。
评论
这里只有跨平台的全功能非商业答案。甚至Google Play都可以连接(Android 9 Pie)。
– cdlvcdlv
19-09-26在11:25
@cdlvcdlv:没有理由不应该这样做:) FWIW,它使用Android VPN API,因此通过TCP / IPv4或UDP / IPv4进行的任何操作均应起作用。 (似乎不支持IPv6)
– Piskvor离开了建筑物
1月3日,11:07
#5 楼
我在xda-developers论坛上找到了一个反向绑定的好工具。称为Android反向网络共享。它可以在Windows上运行,并且需要带root权限的手机。在运行MIUI v4的HTC Desire HD上运行正常。
评论
我正在使用此软件,它在mt galaxy s duosgts7562上运行良好。我可以通过反向绑定使用所有与Internet相关的东西。
–杰瑟
15年7月6日在11:20
要使用youtube和其他此类应用,您需要单击“安装hack”按钮,然后就可以开始使用了。
–杰瑟
15年7月6日在11:22
#6 楼
Android反向绑定步骤:注意:仅在具有root权限的Android手机中有效。
通过USB连接Android设备。
启用USB网络共享。为此,请转至设置→更多...→共享网络和移动热点→USB共享网络。
在主机上,网络管理员可能会检测到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
现在,如步骤1末尾所述,您必须使用
iptables
修改sudo iptables -t nat -A POSTROUTING -j MASQUERADE
。但是...如果可能的话,最好允许网络管理员这样做。在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
。它对我有用。
评论
我的设备的netcfg似乎更受限制,步骤4的手动版本失败:没有这样的操作'10 .42.0.2'用法:netcfg [
–马修·雷德(Matthew Read)
15年5月28日在16:51
@MatthewRead该命令是错误的,它实际上是ifconfig rndis0 10.42.0.2 netmask 255.255.255.0,顺便说一句,看到所有接口都是netcfg本身。类似的说明在这里详细介绍
–水瓶座力量
16-2-18在2:07
#7 楼
对于无根设备,我知道这是一个较晚的答案,但是由于所有现有答案都表明,只有在您的设备已植根或具有系统支持反向绑定的情况下,才可以进行USB反向共享,但我还是值得指出除此之外,还有一个选择:
我正在寻找一种反向绑定解决方案,该解决方案可以在无根设备和MacBook上使用,但我什么都找不到。最终,我开始开发自己的解决方案。结果是该应用程序可以在客户端运行Android 4.0或更高版本的设备上运行,而在主机端可以运行所有主要的台式机操作系统。 >
评论
我无法在Windows或Ubuntu上连接它,但似乎可以在OSX上使用。
–马修·雷德(Matthew Read)
16-09-25在0:11
给我发送电子邮件,我会尽力帮助它在Windows和Ubuntu上运行。
– FD_
16-09-25在10:01
评论
这看起来像是部分解决方案:forum.xda-developers.com/showthread.php?t=1371345另请参阅:android.stackexchange.com/questions/73168/…