Android路由表设置(route & DNS)

route设置

android4.4只使用了一份路由表,使用busybox route就可以完成路由表的设置,从android5.0之后,考虑要对多网络的支持,采用了多路由表,下面的设置方法只适用于android4.4之前的版本,android5.0之后的版本路由表如何设置留到以后再说明。

1、查看路由表 busybox route -n 
Kernel IP routing table 
Destination Gateway Genmask Flags Metric Ref Use Iface 
0.0.0.0 192.168.7.1 0.0.0.0 UG 0 0 0 eth0 
0.0.0.0 192.168.7.1 0.0.0.0 UG 202 0 0 eth0 
192.168.0.0 0.0.0.0 255.255.248.0 U 0 0 0 eth0 
192.168.0.0 0.0.0.0 255.255.248.0 U 202 0 0 eth0 
192.168.7.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

2、删除默认路由 busybox route del default 
Kernel IP routing table 
Destination Gateway Genmask Flags Metric Ref Use Iface 
0.0.0.0 192.168.7.1 0.0.0.0 UG 202 0 0 eth0 
192.168.0.0 0.0.0.0 255.255.248.0 U 0 0 0 eth0 
192.168.0.0 0.0.0.0 255.255.248.0 U 202 0 0 eth0 
192.168.7.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

3、添加一条默认路由 busybox route add -net 0.0.0.0 gw 192.168.7.1 netmask 0.0.0.0 dev eth0 
Kernel IP routing table 
Destination Gateway Genmask Flags Metric Ref Use Iface 
0.0.0.0 192.168.7.1 0.0.0.0 UG 0 0 0 eth0 
192.168.0.0 0.0.0.0 255.255.248.0 U 0 0 0 eth0 
192.168.0.0 0.0.0.0 255.255.248.0 U 202 0 0 eth0 
192.168.7.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

4、删除一条主机路由 busybox route del -host 192.168.7.1 dev eth0 
Kernel IP routing table 
Destination Gateway Genmask Flags Metric Ref Use Iface 
0.0.0.0 192.168.7.1 0.0.0.0 UG 0 0 0 eth0 
192.168.0.0 0.0.0.0 255.255.248.0 U 0 0 0 eth0 
192.168.0.0 0.0.0.0 255.255.248.0 U 202 0 0 eth0

5、添加一条主机路由 busybox route add -host 192.168.7.1 dev eth0 
Kernel IP routing table 
Destination Gateway Genmask Flags Metric Ref Use Iface 
0.0.0.0 192.168.7.1 0.0.0.0 UG 0 0 0 eth0 
192.168.0.0 0.0.0.0 255.255.248.0 U 0 0 0 eth0 
192.168.0.0 0.0.0.0 255.255.248.0 U 202 0 0 eth0 
192.168.7.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

6、删除一条网络路由 busybox route del -net 192.168.0.0 netmask 255.255.248.0 dev eth 
Kernel IP routing table 
Destination Gateway Genmask Flags Metric Ref Use Iface 
0.0.0.0 192.168.7.1 0.0.0.0 UG 0 0 0 eth0 
192.168.0.0 0.0.0.0 255.255.248.0 U 202 0 0 eth0

7、添加一条网络路由 busybox route add -net 192.168.0.0 netmask 255.255.248.0 dev eth 
Kernel IP routing table 
Destination Gateway Genmask Flags Metric Ref Use Iface 
0.0.0.0 192.168.7.1 0.0.0.0 UG 0 0 0 eth0 
192.168.0.0 0.0.0.0 255.255.248.0 U 0 0 0 eth0 
192.168.0.0 0.0.0.0 255.255.248.0 U 202 0 0 eth0

DNS Server设置

同样以android4.4为例来进行说明,Android系统中,不管是dns server的设置,还是域名解析,都是由netd进程来执行的,netd与dns的相关操作是调用了一个netbsd的库,netd中dns server设置对应于文件ResolverController.cpp,域名解析对应于文件DnsProxyListener.cpp。

原生的android系统只提供了设置系统dns server的接口,而没有提供查看系统dns server的接口,需要自己添加代码来实现。

通过ndc配合netd可以对android dns进行设置和查看。 
1、设置dns interface & server 
ndc resolver setdefaultif eth0 
ndc resolver setifdns eth0 “” 192.168.7.2

2、查看dns interface 
ndc resolver getdefaultif 
226 0 DNS default interface is eth0

3、查看dns server 
ndc resolver getdefaultServer 1 
226 0 DNS default server[1] is 192.168.7.2

android系统(107)---Android路由表设置(route amp; DNS)相关推荐

  1. Android 系统属性读取和设置详解

    Android 系统属性读取和设置详解 一.在adb中进行属性读取和设置 1.Settings Provider设置和读取 获取 设置 2.SystemProperties属性读取和设置 二.Andr ...

  2. android log抓取方法,Android系统之Android抓取各种log的方法

    Android系统之Android抓取各种log的方法 2018年11月25日 | 萬仟网移动技术 | 我要评论 android之android抓取各种log的方法 1.logcat (四类log b ...

  3. Android系统架构-[Android取经之路]

    摘要:本节主要来讲解Android的系统架构 阅读本文大约需要花费10分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的平台设计,欢迎关注我,谢谢! 欢 ...

  4. android 服务端技术,移动应用服务器端开发(基于JSP技术)-2017 Android系统构架 Android系统构架.docx...

    Android系统构架 PAGE 1 目 录 TOC \o "1-3" \h \z \u 一.Android系统构架 1 二.Linux内核层 2 三.系统运行库层 3 (一)系统 ...

  5. 【android系统】android系统升级流程分析(二)---update升级包分析

    接下来我们将通过几篇文章来分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理.今天让我先来分析下升级包update.zip. 一 ...

  6. 【android系统】android系统升级流程分析(一)---recovery模式中进行update包升级流程分析

    今天我们直接来看下android中具体的升级过程是如何的. 升级流程概述 升级的流程图: 升级流程分析 第一步:升级包获取 升级获取可以通过远程下载,也可直接拷贝到指定目录即可. 第二步:准备升级 然 ...

  7. android系统属性获取及设置

    系统属性获取及设置中的设置值 data/data/com.android.providers.settings/databases/settings.db 1.系统属性获取及设置 android.os ...

  8. Android编译默认英语,Android系统语言出厂编译设置为简体中文

    Android系统默认的语言是英语,但是对于中国大陆Android产品厂商来说,不会出厂之后语言还是英语,到用户手里之后,用户自己设置成简体中文吧?有如果客户不懂英语,岂不是就不能设置系统语言了?所以 ...

  9. android系统默认值的设置

    1开机图片: android-logo-mask.png android-logo-shine.png 这两个图片一个在上一个在下 ./out/target/common/obj/JAVA_LIBRA ...

  10. Android 系统(11)---android 系统权限大全

    收集到的android权限都很实用的(permission)大全 1.android.permission.WRITE_USER_DICTIONARY 允许应用程序向用户词典中写入新词 2.andro ...

最新文章

  1. n维椭球体积公式_混凝土工程量计算规则及公式
  2. Kafka生产者详解
  3. storm hook的使用
  4. mysql安装包脚本之家_CentOS 7 MySQL5.7 TAR包解压 全自动化脚本
  5. 面向过程和面向对象的本质理解
  6. 使用UUID和int自增主键的区别
  7. adc0808模数转换实验报告_ADC0808模数转换显示 单片机程序
  8. c语言立体爱心会跳动,c语言编程实例——小球跳动
  9. pythonnumpy官网_Numpy安装
  10. mac 安装redis 视频教程
  11. pspice仿真错误
  12. 你是否还记得c语言的这些文件操作?
  13. 新版 | 小O地图V0.9.2.0
  14. 删除外键的sql语句
  15. 开关电源环路补偿设计及调节笔记
  16. JavaScript的佛祖保佑
  17. 审稿意见回复信英文模板和语料总结
  18. zbb20181210 CentOS第一次安装MySQL的完整步骤
  19. 网页动态背景——随鼠标变换的动态线条(鼠标蜘蛛网特效)
  20. skype客户端搜不到联系人解决办法

热门文章

  1. 用anaconda保证64位和32位的python共存
  2. linux编译安装含义,linux源码包编译安装详解
  3. 管程理解及用管程实现生产者消费者问题
  4. java并发初探CyclicBarrier
  5. P2024 [NOI2001]食物链[扩展域并查集]
  6. 关于使用pietty或putty终端连接ubuntu虚拟机时报被拒绝连接问题
  7. 剑指offer - 二维数组中的查找
  8. 【源码】ListT泛型绑定repeater,以及repeater的交替绑定
  9. 【LeetCode】241. Different Ways to Add Parentheses
  10. mongodb笔记2