Android设备获取wifi下的ipv6地址

2023-05-16

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。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android设备获取wifi下的ipv6地址 的相关文章

  • Android NDK 中使用“dynamic_cast”时出现“UnsatisfiedLinkError”

    我是 Android 开发新手 我面临下一个问题 当我使用 C 代码时 动态演员 表达方式 不满意的链接错误 当我在模拟器上启动应用程序时出现 但是当我在没有它的情况下运行应用程序时 一切正常 我的意思是 LogCat 没有任何错误 我尝试
  • Firebase 数据库快速入门处理计数的方式安全吗?

    我想为文章点赞创建一个增量字段 我指的是这个链接 https firebase google com docs database android save data save data as transactions https fireb
  • Firestore - RecycleView - 图像持有者

    我不知道如何编写图像的支架 我已经设置了 2 个文本 但我不知道图像的支架应该是什么样子 你能帮我告诉我图像的文字应该是什么样子才能正确显示吗 holder artistImage setImageResource model getArt
  • finish() 完成活动但它仍然在后台

    我有一个关于 android studio 中活动的 finish 方法的问题 我有这个简单的代码 public class MainActivity extends AppCompatActivity Override protected
  • 如何持续更新MPAndroidChart中的Y轴值

    我希望 LineChart 中的轴能够实时调整其最大值和最小值 当新数据的 Y 值增加 正值和负值 时 像 ResetAxisMaxValue 和 ResetAxisMinValue 这样的函数可以很好地工作 但是 一旦信号再次变低 Y 值
  • 如何使用 Firebase UI 在 recyclerView 中显示时从 Firebase 数据库中的子级引用父级

    我目前正在引用 quote text 子项 这些数据显示在recyclerview using firebase用户界面 我想获取 quote text 的父名称 如何获取 quote text 孩子的父母姓名 When user clic
  • Firebase ANR - 甚至不使用 firebase

    随着 GMS 的最新更新 引入了新的 ANR 如果您退出应用程序 然后返回 则 ANR 就会初始化 线程跟踪似乎指向 Firebase 但我什至从未开始使用 Firebase 我猜它一定是新的 GMS 包的一部分 06 11 00 34 0
  • 无法获取 Facebook 传入请求

    我正在尝试在我的 Facebook android 游戏应用程序中实现发送数据并接受该数据 我正在关注https developers facebook com docs android send requests notification
  • Android Studio - 值必须 ≥ 0

    我在 Android Studio 中收到与光标有关的错误 我的代码中有以下行 String data cursor getString cursor getColumnIndex columnIndex columnIndex 被传递到该
  • JavaDoc 在 Android 项目中不起作用

    我在 Ubuntu 10 04 上使用 Eclipse 3 5 2 进行 Android 开发 我安装了 来自 Ubuntu 存储库的 Sun JDK Eclipse 3 5 2 经典 来自 eclipse org 解压到 opt ecli
  • onClick 未在带有子项的 LinearLayout 上触发

    我有一个自定义的 LinearLayout 和一个较小的 TextView 子级 我希望能够单击 TextView 未覆盖的区域 因此我将 clickable true 和 onclicklistener 设置为 LinearLayout
  • Android 从命令行停止模拟器

    这个问题与如何通过命令行关闭Android模拟器 https stackoverflow com questions 5912403 how to shut down android emulator via cmd 但是 在尝试第一个答案
  • onBackPressed 隐藏 不破坏 Activity

    我知道如何取消后退按键 以便活动 主窗口保持可见 public void onBackPressed return 我的目标是隐藏该活动 但是 在没有完成它的情况下 您如何在 onBackPressed 事件中做到这一点 即我想达到 onP
  • NoClassDefFoundError:无法解析:Landroid/support/v7/appcompat/R$styleable

    新手尝试完成 Google 提供的我的第一个应用程序教程 在这个致命异常的过程中 我确实导入了很多随机包来消除许多事情的 无法解析 错误 例如 ActionBarActivity EditText Fragment LayoutInflat
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • Android AutoCompleteTextView 带芯片

    我不确定我是否使用了正确的词语来描述此 UI 功能 但我已附上我希望在我的应用程序中实现的目标的快照 它由 Go SMS 使用 用户在编辑文本中键入联系人 在用户从完成下拉列表中选择联系人后 该联系人将被插入到编辑文本中 如附图所示 编辑文
  • 在 Android 中使用 iText 将图像添加到特定位置

    我想使用 Android 中的 iText 将图像添加到 PDF 文件中的特定位置 这是一个可填写的表单 我添加了作为图像占位符的文本框 我想要做的就是像这样获取该文本框和图像 public class FormFill public st
  • Android:如何检测手机设置中的语言已更改

    我如何检测我的手机语言是否已更改 例如 Facebook 应用程序将向我们宣布 please wait we preparing your language i used myString Locale getDefault getDisp
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创

随机推荐

  • 在线教育-谷粒学院学习笔记(九)

    文章目录 1 内容介绍2 搭建项目前台环境NUXT3 整合项目首页4 nuxt路由5 首页数据banner显示 初始配置6 首页数据banner显示 接口7 首页数据banner显示 前端实现8 首页数据显示 热门课程和名师9 Redis复
  • plotjuggler实时绘制ros topic数据流

    ros里安装plotjuggler用 xff1a sudo apt install ros melodic plotjuggler ros 不要用 xff1a sudo apt install ros melodic plotjuggler
  • 汉语拼音码

    汉字拼音首字母列表 本列表包含了20902个汉字 用于配合 GetChineseSpell 函数使用 本表收录的字符的Unicode编码范围为19968至40869 summary gt private static string strC
  • Futaba SBUS协议解析

    Futaba SBUS协议解析 S bus为futaba使用的串行通信协议 实际上为串口通信 但是有几点需要注意 xff1a 在大端小端上 xff0c 网上资料都说的不是很清楚 xff1b 跟TTL串口信号相比 xff0c S bus的逻辑
  • ubuntu 暂时不能解析域名

    错误 1 http security ubuntu com ubuntu xenial security main amd64 curl amd64 7 47 0 1ubuntu2 18 暂时不能解析域名 cn archive ubuntu
  • 全局变量和局部变量的区别

    全局变量和局部变量是面试时常问的问题之一 xff0c 我曾在夏令营面试和就业面试中不止一次的被问到 在这里我总结归纳一下两者的区别 在内存中的区别 这是最重要的区别 全局变量 xff08 外部变量和静态变量 xff09 保存在内存的全局存储
  • Ubuntu18安装成功后 显示未找到wifi适配器

    因为这个问题 xff0c 耽误了好久好久的任务进度 xff0c 搞得爆粗口了好几天 xff0c 最后差点放弃了 但凭着一丝不放弃精神 xff0c 终于解决问题了 总结一些我遇到的问题 xff0c 希望能帮助恼火的朋友们节省宝贵的时间 我尝试
  • px4添加自定义消息进行仿真数据采集

    第一步 xff1a 添加一个新topic 将想要采集模块的数据信息声明成自定义的uORB消息 xff1a 在PX4 msg目录下新建一个格式为 xff1a xxxx msg xff0c 定义消息结构 xff0c 将消息记录到日志当中 简单例
  • 如何将ros下sensor_msgs.msg的Image转换为array

    使用ros numpy package Tools for converting ROS messages to and from numpy arrays Contains two functions arr 61 numpify msg
  • visdom

    跑强化学习代码 xff0c 训练曲线用到visdom Ubuntu下输入指令python m visdom server 一直是Downloading scripts this may take a little while xff0c 无
  • latex表格居中和表格内容居中

    begin table caption Table captions should be placed above the tables label tab1 begin tabular l l l hline Heading level
  • 自动化环境搭建pytest+allure

    pytest安装 安装pytest pip install pytest 61 61 4 0 2 pip install pytest html 生成html测试报告 Allure搭建 1 下载Allure安装包 xff0c 找到对应版本
  • gazebo model的sdf文件中的uri路径

    让我们先看一个gazebo模型的sdf文件iris depth camera down sdf lt sdf version 61 39 1 5 39 gt lt model name 61 39 iris depth camera dow
  • adb连接不上手机测试设备

    问题 xff1a 解决 cannot connect to 5555 由于目标计算机积极拒绝 xff0c 无法连接 10061 解决办法 xff08 Windows 43 R xff1a cmd环境 xff09 1 连接USB数据线 xff
  • navicat连接本地mysql数据库报1251(版本问题)

    本地数据库服务已经启动 xff0c navicat连接本地数据库出现如下错误 xff0c 一般首次使用或下载新版本navicat会出现 xff0c 因为我下载的10 0版本 xff0c 它采用新的保密方式 xff0c 与默认旧版本5 0不同
  • oracle中的违反完整性约束条件问题

    在用sql语句创建表时 xff0c 出现了下列问题 xff1a 在这 xff0c 把这个问题出现的原因总结一下 xff1a 1 数据类型长度不一致 A表中的外键字段和B表中的被外键关联的字段数据类型或长度不一致 由此产生了问题 xff0c
  • python web快速建站基础

    1 Django基础 Django是一个开放源代码的Python Web应用框架 xff0c 由Python写成 xff0c 采用了MVT的框架模式 xff0c 即模型M xff0c 模板T和视图V 1 1 MVT 与MVC模式类似 xff
  • pycharm报找不到模块问题

    在学习python数据可视化时 xff0c 用到库特性时 xff0c 例如csv xff0c 总是提示类似 module csv has no attribute writer 的问题 xff0c 后来发现把这些库的文件夹名字改为 csv1
  • Linux 安装配置Docker 和Docker compose 并在docker中部署mysql和中文版portainer图形化管理界面

    Linux 安装配置Docker 和Docker compose 并在docker中部署mysql和中文版portainer图形化管理界面 首先环境准备 xff1a 下载Ubuntu20 04 4版本并打开vmare16虚拟机 xff08
  • Android设备获取wifi下的ipv6地址

    ipv6技术逐渐普及并得到广泛的应用 xff0c 很多企业也开始部署自己的ipv6网络 xff0c 很多终端也开始支持ipv6技术 遗憾的是 xff0c android虽然得到广泛普及 xff0c 但android并没有原生支持ipv6 可