智能终端及其网络底层配置方法_6

文档序号:9931142阅读:来源:国知局
}
[0470] 以上的分析表明,如要令客户端通过服务端来连接外网,需要避开上述的控制选 项的影响。
[0471] 进而,通过分析本智能终端的热点模式开启前和开启后的数据包转发开关和数据 包过滤表即iptables,也发现影响客户端上网的因子。
[0472] 具体而言,对于数据包转发开关,可以发现,cat/proc/sy s/net/ipv4/ip_f orward 的结果是1而不是〇,因而理论上可以通过echo〃l〃>/proc/sys/net/ipv4/ip_forward enable来改变此一开关设置,使其打开数据包转发功能。然而,这种情况下,由于受 ip tab 1 es的影响,即使做出上述的改变,客户端进行外网访问仍然未能畅通。当智能终端的 热点模式下的p2p0标识所对应的接口收到数据包,虽会查找路由,并且发到其站点模式下 wlanO标识所对应的接口,但是会被iptab 1 es的过滤规则所丢弃。
[0473]对于iptables,发现其存在两方面的影响,其一是其中包含有将接口p2p0的数据 包丢弃的规则,其二是欠缺将智能终端映射到公网的NAT规则。对于前者,可以通过以下指 令处理:iptables-D FORWARD 4,即删除forward里的第4条规则,也即natctrl_FORWARD规 贝1J。这时候当p2p0收到包,会从wlanO发出。但是这个包的源ip是一个内网ip。因此,需要对 后者做处理如下:iptables-t nat-A POSTROUTING-o wlanO-j MASQUERADE,即向iptables 过滤表增加一条nat规则,添加之后,在另一个手机上,便可以ping通外网ip了。由客户端到 外网的连接,由此便畅通了。自然的,以及结合实践分析,网关也已经得到正确配置。
[0474] 通过上述的处理,仅仅解决了 IP层的问题,对于DNS解析的功能,则仍未实现。进一 步通过分析DNSmasq的配置参数,发现其携带了一no_resolv选项,该选项正是导致影响客 户端获取正确的DNS解析的原因。由此,可以通过修改startTethering方法或者增加一个 startTetheringWithDnsO方法,去掉一n〇-resolv参数。完成这些操作,客户端经服务端到 外网,具体到基于域名的万维网的访问,便畅通无阻了。
[0475] 以上,概括而言,本发明为实现客户端通过服务端访问外网而借助ndc工具驱动网 络守护进程所做出的涉及到网络共享配置信息的修改,主要涉及到以下方面:
[0476] 其一、开通连通热点模式与站点模式之间的网络连接的数据包转发功能:具体表 现为可通过echo指令设置其参数为1来打开。
[0477] 其二、畅通热点模式与站点模式之间网络连接的数据包过滤表的设置内容:具体 表现为对iptables表格去除相应的过滤条目以及添加 NAT映射记录,实现内网地址与公网 地址之间的一对一映射。
[0478] 其三、去除客户端共享上网限制解析DNS的选项:具体表现为可通过共享控制器 (Te therContro 11 er)的有关方法来去除一no_r eso 1 v选项。
[0479] 由此可见,通过上述的方法,便可使本发明的智能终端实现连通其热点模式与其 站点模式下之间的网络连接,为客户端提供接入外网的服务。
[0480]以上通过揭示对Android的系统原理的分析过程,揭示了本发明的实现原理,并提 供了如何修改网络共享配置信息的一种实施例,除此之外,还可通过以下的方式来修改网 络共享配置信息:
[0481] 这种方式具体而言,即以系统最高权限调用ndc工具通过网络守护进程来实现修 改的方式,请参阅如下代码及其说明:
[0482] ndc ipfwd enable
[0483] ndc tether dns set 0 114.114.114.114
[0484] //如果失败,通常意味着前面有手工操作没有完全撤销。执行ps | grep dnsmasq先 强制关闭配置进程。如果还有残留进程,例如:
[0485] shell@CP8681_A01:/#ps|grep dnsmasq
[0486] dhcp 3557 325 10272 740 001a0338 b66f61ac S/system/bin/dnsmasq
[0487] //执行kill 3557杀掉,然后
[0488] ndc tether stop,//停止共享
[0489] ndc tether start 192.168.49.2 192.168.49.254//启动共享,配置网段
[0490] ndc tether dns set 0 114.114.114.114//设置DNS
[0491] ndc nat enable p2p0 wlanO 0//添加 NAT规则
[0492] 经测试,以上代码所起的效果与上方揭示的手动修改过程一致,经由此段代码作 用,数据包转发功能被打开,iptables过滤表得到正确的配置,DNS解析功能也得到正确的 维护。因此,本发明的应用程序可以在系统最高权限状态下,在启动热点模式之后,执行这 段代码,便实现了对网络共享配置信息的正确修改,客户端便可通过服务端来上网。
[0493]多数的Android系统智能终端,由于厂商的限制,并未开放其系统最高权限,或者 未成功被ROOT,对于这种情况,以上以NDC指令直接驱动网络守护进行实施网络共享配置信 息的修改的操作将不能成功。因此,需要另辟蹊径。
[0494] -种改进的方式是将以上以NDC表达的代码封装成一个方法函数(配置接口),对 WiFiP2pManager类的开源代码文件即WifiP2pServiceImpl.java进行修改,由于 WifiP2pServiceImpl. java可以直接通过mNwService导出的函数实现那些ndc命令,因在, 可在里面增加该方法函数,并且导出给WiFiP2pManag er类使用,这样,本发明的应用程序只 需直接通过WiFiP2pManager类调用该配置接口,即可实施对网络共享配置信息的修改,而 无需借助系统最高权限的获取。
[0495] 由此可见,借助ndc命令控制所述网络守护进程以修改网络共享配置参数的方式 也是多样化的。
[0496] 通过实施上述的多种控制方式,均可使服务端的热点模式和站点模式之间的网络 连接互相连通,路由的问题随之有解。而本发明作用后在应用方面的表现,请参阅后续的揭 示:
[0497] 所述的通信单元13,用于在客户端接入所述网络群组后,建立该客户端与由所述 站点模式所维持的外网的连接。
[0498] 客户端接入服务端提供的网络群组之后,将向服务端发送DHCP请求,服务端的配 置进程读取经上述修改之后的正确的网络共享配置信息,反馈给客户端。客户端据此完成 自身的网络设置后,便可经作为服务端本发明智能终端的热点接口、站点接口而访问外网。 对于本智能终端而言,当其接收客户端访问外网的数据包时,将该数据包转发经所述站点 模式的路径传输给所述的外网;当其接收外网访问客户端的数据包时,将其转发经所述热 点模式的路径传输给该客户端。
[0499] 进一步的,为完善本发明的应用程序进程的功能,可以增加恢复单元,该恢复单元 被配置为响应于退出共享上网的用户指令,恢复所述的网络共享配置信息。
[0500] 具体而言,本发明的应用程序可以参照前述的方式,向用户界面提供一个共享上 网的控制按键,如沿用上述已经提供到用户界面的控制按键的一个复选控制操作也可。当 该控制按键被触发时,便产生所述的用户指令,受该用户指令的作用,本发明便可实施断开 所述的热点模式,由此便自动断开外部连接。
[0501] 进一步,可以采用更为彻底的方式,先行对前述处理过程产生的网络共享配置信 息进行清理,例如,参阅以下的ndc指令:
[0502] ndc ipfwd disable//关闭数据包转发功能
[0503] ndc tether stop//停止上网共享功能
[0504] ndc nat disable p2p0 wlanO 0//关闭NAT映射功能
[0505] 通过本发明的应用程序进程执行上述的命令,便可通过SOCKET端口控制网络守护 进程执行相应的功能,从而避免前述的对网络共享配置信息对本机使用所带来的潜在的影 响。可以知晓,在本发明的应用程序进程中直接调用上述的命令控制所述的网络守护进程 的前提是已经获取系统的最高权限。
[0506] 同理,根据上述构造方法函数并将其植入到WiFiP2pManager中的示例可知,此处 的清理代码完全可以同样的方法被构造为方法函数(清退接口),添加到WiFiP2pManager类 的代码文件中,导出为该类的相应的成员函数,后续直接由本发明的应用程序进程调用该 清退接口即可执行,而不必考虑当前是否已经获得系统ROOT权限。
[0507]综上所述,本发明的方法解决了 Andro i d智能终端同时开启热点模式和站点模式 的技术难题,并且允许接入其热点模式下的网络群组的客户端经由其站点模式相对应的外 网接口访问外网。
[0508]概而言之,通过本发明的处理,Android系统的智能终端便具备了双模功能,也即 同时既可充当热点供其他设备接入,也可充当站点接入外部网络接入点,并且可以起到路 由器的作用,允许接入该智能终端的客户端设备通过该智能终端访问外网。
[0509]本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的 一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用 计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地 激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在 适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不 限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、R0M( Read-〇nly Memory,只 读存储器)、RAM(Random Access Memory,随即存储器)、EPR0M(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPR0M(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡 片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介 质。
[0510]本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或 框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领 域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他 可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理 器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
[0511] 本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的 步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各 种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。 进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案 也可以被交替、更改、重排、分解、组合或删除。
[0512] 以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应
【主权项】
1. 一种智能终端网络底层配置方法,其特征在于,包括如下步骤: 调用WiFiP2pManager类构造热点; 调用网络守护进程执行如下过程: 开通连通热点模式与站点模式之间的网络连接的数据包转发功能,畅通热点模式与站 点模式之间网络连接的数据包过滤表的设置内容,去除客户端共享上网限制解析DNS的选 项。2. 根据权利要求1所述的方法,其特征在于,本方法工作于获取系统最高权限的环境 中,由应用程序调用ndc命令执行对网络守护进程的调用。3. 根据权利要求1所述的方法,其特征在于,本方法工作于未获取系统最高权限的环境 中,执行网络守护进程的ndc命令被预置于所述WiFiP2pManag er类的代码文件中并被导出 为该类的方法函数,以供本方法调用执行。4. 根据权利要求1所述的方法,其特征在于,本方法对网络守护进程执行独条指令顺序 控制的操作。5. 根据权利要求1所述的方法,其特征在于,通过修改系统的iptables过滤表的规则实 现所述数据包过滤表的设置内容的修正。6. 根据权利要求5所述的方法,其特征在于,对iptables过滤表的修正内容包括删除用 于丢弃数据包的记录和添加一条将内网地址映射为公网地址的NAT记录。7. 根据权利要求1所述的方法,其特征在于,通过关闭系统的用于向客户端反馈DHCP配 置信息的配置进程,重新配置其参数,而去除客户端共享上网限制解析DNS选项。8. 根据权利要求7所述的方法,其特征在于,所述配置进程为Dnsmasq进程,所述选项 为一no-resolv 选项。9. 根据权利要求1所述的方法,其特征在于,所述网络守护进程为Android系统的NetD 进程。10. -种智能终端,其特征在于,包括: 建立单元,用于调用WiFiP2pManager类构造热点; 配置单元,用于调用网络守护进程执行如下过程: 开通连通热点模式与站点模式之间的网络连接的数据包转发功能,畅通热点模式与站 点模式之间网络连接的数据包过滤表的设置内容,去除客户端共享上网限制解析DNS的选 项。
【专利摘要】本发明公开一种智能终端及其网络底层配置方法,该方法包括如下步骤:调用WiFiP2pManager类构造热点;调用网络守护进程执行如下过程:开通连通热点模式与站点模式之间的网络连接的数据包转发功能,畅通热点模式与站点模式之间网络连接的数据包过滤表的设置内容,去除客户端共享上网限制解析DNS的选项。通过本发明的处理,Android系统的智能终端便具备了双模功能,也即同时既可充当热点供其他设备接入,也可充当站点接入外部网络接入点,并且可以起到路由器的作用,允许接入该智能终端的客户端设备通过该智能终端访问外网。
【IPC分类】H04W48/20, H04W84/12, H04W88/06, H04L29/08, H04L12/24
【公开号】CN105721220
【申请号】CN201610141384
【发明人】韦巧, 胡宇光, 朱翼鹏
【申请人】北京奇虎科技有限公司, 奇酷互联网络科技(深圳)有限公司
【公开日】2016年6月29日
【申请日】2016年3月11日
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1