现在的位置: 首页 > 综合 > 正文

Android设备获取wifi下的ipv6地址

2018年04月16日 ⁄ 综合 ⁄ 共 1850字 ⁄ 字号 评论关闭

ipv6技术逐渐普及并得到广泛的应用,很多企业也开始部署自己的ipv6网络,很多终端也开始支持ipv6技术。

遗憾的是,android虽然得到广泛普及,但android并没有原生支持ipv6。可喜的是:

From a Google Android Kernel team member:

“Bionic does support Ipv6, but the core system classes that come with Dalvik

don’t yet.  But work is being performed to add this feature. ”

That means, you’d better have patient and waiting.

但是这种等待并不是办法,由于android的底层是Linux,其中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。Linux的内核从2.2起就支持ipv6,故笔者研究用android获取ipv6地址,访问ipv6网站和获取ipv6资源。研究获得了初步的成果,遂与大家分享。

条件:

1.手机的内核要大于2.2,且内核支持ipv6。大多数android rom的内核大多数都是2.6,第三方rom(如CM)的内核都支持ipv6,其他rom笔者没做调查。

腾讯手机管家截屏2013030801

内核版本应大于2.2

2.手机已经root,获取root权限。

3.拥有获取ipv6的环境,即拥有ipv6路由或ipv6无线网关(AP);笔者使用校园网下的Openwrt路由实现。实现方法可以参考:http://talk.withme.me/?p=51

方法:

1.下载安装android终端,此类软件很多,可以自行选择使用。

2.android手机连接可以获取ipv6的无线路由。

3.在终端输入Linux命令:ifconfig,查看其网络状态:

腾讯手机管家截屏2013030802

查看网络状态

可以看到wifi的网络连接为tiwlan0,从wifi路由器获取ipv4地址为192.168.1.117,ipv6地址为本地地址,没有公网的ipv6地址。

4.输入Linux命令:su,提权,获取root权限,此时可能会弹出是否允许终端获取管理员权限的提示对话框,此时应该选择“允许”。

腾讯手机管家截屏2013030803

输入su提权

5.由于手机不会dhcp获取ipv6地址,故只能手动设置ipv6地址,输入命令:

ifconfig tiwlan0 add 2001:250:3002:4650:21f::100/80

注意,命令ifconfig interface [add ADDRESS[/PREFIXLEN]]为向网络名为interface的网络添加ip地址(中括号意为可选值),另外,ipv6地址的设置和prefix的设置必须符合自己的环境,路由和网关才会转发你的请求。

腾讯手机管家截屏2013030804

手动设置ipv6地址

这里可能是终端软件的缘故,截图未能看到整条命令。

6.重新输入ifconfig查看网路状态:

腾讯手机管家截屏2013030805

查看网络状态

可以看到已经成功设置了ipv6地址。

7.用浏览器访问http://ip6.me/,该网站可以查看自己的合法ipv6的ipv6地址:

腾讯手机管家截屏2013030806

访问ip6.me

可以看到,ipv6地址合法且可用。

访问六维也成功:

腾讯手机管家截屏2013030807

访问六维成功

但是,由于该过程不具有持久性,一旦wifi无线连接断开后重新连接,该过程就要重复,稍显繁琐,不过熟悉Linux的读者可以通过脚本解决,这里略。

笔者稍后也会继续研究android平台ipv6的dhcp自动获取以提高效率。

利用Openwrt,android的ipv6还可以有更多有趣的应用。

登录Openwrt的luci,即web界面,通常为http://192.168.1.1/,找到网络->DHCP/DNS页面:

1

找到网络->DHCP/DNS页面

切换到“HOST和解析文件”选显卡,在“额外的hosts文件”添加一个hosts文件路径:

2

添加一个hosts文件路径

这里为“/root/host”当然也可以是其他路径,不唯一。记得保存。

用ssh客户端登录路由,在相应的路径下创建host文件,这里在/root目录下创建文件名为host的文件,命令:touch host。

编辑host文件:vi ./host

按照host文件的填写要求添加菲死不可、推特等网站的ipv6 host。

什么?菲死不可和推*是什么?

亲,你懂的!至于具体地址,自己google把。

可能需要重启host才会生效。

这样,路由下的设备,包括有线和无线连接的电脑,或者是已设置ipv6的android设备,均可以访问上述网站,而无需在各自的设备上单独修改host。

抱歉!评论已关闭.