本文介绍了如何通过android手机的USB绑定功能,实现 手机与PC的双向共享上网。
一、手机通过USB绑定,共享PC上网资源
参考文档:
http://wenku.baidu.com/view/366ea292daef5ef7ba0d3c9a.html
http://wenku.baidu.com/view/33487bfc0242a8956bece46e.html
1、环境搭建:
android 2.3.7手机一台(中兴U960S)必须有ROOT权限,并且安装了busybox
windows XP
路由器自动拨号猫上网
2、将手机连接电脑,在手机“设置—无线与连接—绑定—USB绑定”打勾,你的电脑会提示你发现新硬件(如果你已经有驱动的话指定安装即可,或者安装手机自带的jion me)。
打开网上邻居-查看网络连接,你会发现多了一个本地连接
注意:如果你的USB绑定选项为灰色的话,你需要到“设置—无线与连接—移动网络设置-接入点名称”新添加一个名字叫usb(名字任意),接入点为usb的APN。
3、打开本地PC连接,勾选共享
注意:不需要勾选第二个选项。
4、设置手机的连接IP,为192.168.42.1,子网掩码为255.255.255.0. 此时PC自动联网了。
左图为手机网卡自动获取信息,右图是我们需要修改的手机网卡的截图。一般192.168.42.1的设置网段是根据手机网卡Ip地址的前三段设置的。
5、手机上执行脚本,由于手机的USB端口当做网卡设备已经被枚举,这个时候adb已经不能执行手机shell命令了,这个就需要我们下载一个脚本执行APK来辅助我们完成这个工作(本步骤中使用到了busybox扩展脚本,可以下载一个busybox.apk来一键安装,不懂的同学直接百度)
下载Gscript Mod 这个终端脚本软件
新建一个脚本,将命令批量出入,以后每次只需要执行就可以了。
busybox route add default gw 192.168.42.1
setprop net.dns1 8.8.8.8
如果为了保险起见你可以加入一条busybox route delete default命令先删除默认路由。
6、至此,你的手机就可以访问 internet ,上网冲浪了。当然了这个方法使用性不强,正常在家庭直接手机WIFI连上路由器就可以上网了。
适用范围是没有WIFI的环境。
二、PC通过手机USB绑定,共享手机上网资源
将上一章所述步骤的第四步改为修改本地PC网卡IPV4(如图所示内容即可),其他步骤与第一章不变,即可实现。(手机的网卡IPV4信息默认设为自动获取即可)
切记,第一章是修改手机网卡的IPV4,本章是修改PC的网卡IPV4,千万不要混淆。
注意,当然了此时你的手机数据选项(PDP)要激活,不然也是白搭。
20120813补充手机与PC互相上网的网络原理知识:
第一章:
手机USB绑定以后,同时修改手机网卡IP为192.168.42.1后查看路由
再查看ipconfig产看手机网卡的信息
Ethernet adapter 本地连接 3:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Remote NDIS based Internet Sharingevice
Physical Address. . . . . . . . . : EA-5A-18-28-E3-13
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.42.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IP Address. . . . . . . . . . . . : fe80::e85a:18ff:fe28:e313%7
Default Gateway . . . . . . . . . :
DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
再在手机上查看busybox arp
(74.125.235.195) at <> on usb0
192.168.42.1 at ea:5a:18:28:e3:13 [ether] on usb0
顿时大概就明白了什么,手机最终能够上网的路程
手机访问因特网先 跳转到 虚拟的默认网卡192.168.42.1(这个过程其实就跟正常的电脑通过路由器网关上网一样),同时这个虚拟网卡
借由PC上的路由192.168.42.1 mask 255.255.255.255 跳转到 回环地址127.0.0.1,最终从默认网关192.168.1.2出去访问外网了。