博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android设备获取wifi下的ipv6地址
阅读量:3523 次
发布时间:2019-05-20

本文共 1946 字,大约阅读时间需要 6 分钟。

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笔者没做调查。

内核版本应大于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,查看其网络状态:

查看网络状态

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

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

输入su提权

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

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

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

手动设置ipv6地址

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

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

查看网络状态

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

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

访问ip6.me

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

访问六维也成功:

访问六维成功

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

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

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

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

找到网络->DHCP/DNS页面

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

添加一个hosts文件路径

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

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

编辑host文件:vi ./host

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

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

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

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

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

转载地址:http://ehqqj.baihongyu.com/

你可能感兴趣的文章
Sqoop的安装及测试
查看>>
Kylin的简单使用
查看>>
Presto的概念和安装使用
查看>>
Druid的Web页面使用
查看>>
Scala-HelloWorld
查看>>
Scala-IDEA中环境部署
查看>>
Scala-HelloWorld解析
查看>>
Scala-变量和数据类型
查看>>
Scala-流程控制
查看>>
Scala-面向对象后章
查看>>
iOS蓝牙原生封装,助力智能硬件开发
查看>>
iOS 代码的Taste(品位)
查看>>
iOS开发代码规范
查看>>
iOS组件化实践(基于CocoaPods)
查看>>
【iOS学习】RxSwift从零入手 - 介绍
查看>>
数据结构之栈
查看>>
Elastic Stack简介
查看>>
关于deepin系统安装design compiler的问题解答
查看>>
Java Agent简介及使用Byte Buddy和AspectJ LTW监控方法执行耗时
查看>>
记录一下最近的学习经历
查看>>