安卓系统非超级用户权限下数据包过滤方法、装置和系统制造方法及图纸

技术编号:10371494 阅读:199 留言:0更新日期:2014-08-28 13:42
本发明专利技术涉及移动通信技术领域,具体而言,涉及安卓系统非超级用户权限下数据包过滤方法、装置和系统。该安卓系统非超级用户权限下数据包过滤方法,包括:读取预先启动的虚拟内核设备TUN根据默认路由策略拦截的数据包;根据数据包的IP五元组确定该数据包所属的应用程序APP;根据预先设置的过滤规则表及数据包所属的应用程序APP,确定数据包的过滤规则;根据过滤规则,对数据包进行过滤。本发明专利技术提供的安卓系统非超级用户权限下数据包过滤方法,根据过滤规则表按照默认规则或者用户的需求对数据包进行过滤,实现有选择的网络通信;同时,该方法在非用户权限下便可实现,提高了用户设备的安全性,降低了病毒程序传播的可能性。

【技术实现步骤摘要】
安卓系统非超级用户权限下数据包过滤方法、装置和系统
本专利技术涉及移动通信
,具体而言,涉及安卓系统非超级用户权限下数据包过滤方法、装置和系统。
技术介绍
以安卓手机为代表的基于安卓系统的智能移动设备是当前主要的互联网访问设备之一。安卓设备主要通过无线局域网和移动蜂窝数据网络(GPRS、CDMA、3G、4G等)接入互联网。由于无线网络接入服务商按通信流量进行计费的政策,使用移动蜂窝数据网络有产生高额通信费用的可能,因而大部分安卓设备用户需要对设备的网络通信进行管理。安卓系统提供了连接和断开移动数据网络的用户功能,但这种全开全关的基本管理功能不能满足大部分人的有选择地使用网络的需要。由于网络通信是安卓系统内核级别的功能,一般情况下对安卓系统的网络通信进行控制需要取得超级用户(root)权限。目前常见的提供流量管理的第三方软件和技术都需要以获取用户设备超级用户权限即进行“root手机”操作作为前提。运行在“超级用户”权限下的程序可以调用安卓系统Linux内核提供的网络通信功能,例如使用Iptables模块对出入设备的数据流通过修改配置文件进行方过滤和其它处理。这是当前的android流量管理程序主要的实现方法。也是其需要root权限的主要原因。这种操作降低了用户设备的安全性,增加了病毒程序传播的可能性;一些主要的安卓设备生产商也会因用户自行进行了 “root”操作而拒绝为所销售的设备提供质保。
技术实现思路
本专利技术的目的在于提供一种安卓系统非超级用户权限下数据包过滤方法、装置和系统,以解决上述的问题。本专利技术提供的安卓系统非超级用户权限下数据包过滤方法,包括:读取预先启动的虚拟内核设备TUN根据默认路由策略拦截的数据包;根据数据包的IP五元组确定该数据包所属的应用程序APP ;根据预先设置的过滤规则表及数据包所属的应用程序APP,确定数据包的过滤规则;根据过滤规则,对数据包进行过滤。在本专利技术的实施例中提供的上述安卓系统非超级用户权限下数据包过滤方法,通过利用安卓设备本身的虚拟内核设备,对数据包进行拦截,读取该拦截的数据包,确定该数据包所属的应用程序APP;并根据过滤规则表按照默认规则或者用户的需求对数据包进行过滤,实现有选择的网络通信;同时,该方法在非用户权限下便可实现,提高了用户设备的安全性,降低了病毒程序传播的可能性。优选的,上述预先设置的过滤规则表由默认规则生成或由用户通过对过滤规则编辑模块进行编辑后生成。优选的,上述默认规则包括:禁止非安卓系统服务的第三方后台服务进行的移动蜂窝通信;不限制应用程序APP使用无线局域网通信;当应用程序APP处于前台时,允许该应用程序APP通过当前可用网络接口进行通信;当应用程序APP处于后台时,禁止除在线音视频流以及其他非系统服务之外的应用程序APP使用网络连接进行通信。优选的,上述根据过滤规则,对数据包进行过滤包括:根据过滤规则对数据包进行判别,分为允许通过的数据包和禁止通过的数据包;当数据包为禁止通过的数据包时,将该禁止通过的数据包丢弃和/或拒绝;当数据包为允许通过的数据包时,将该允许通过的数据包进行代理通信。优选的,上述数据包包括TCP数据包和/或UDP数据包。优选的,当上述数据包为TCP数据包时,上述根据过滤规则,对数据包进行过滤包括:根据过滤规则,判定该TCP数据包为允许通过的TCP数据包或禁止通过的TCP数据包;当该数据包为禁止通过的TCP数据包时,上述将禁止通过的数据包丢弃和/或拒绝包括:修改TCP数据包的目的IP地址为虚拟内核设备的地址,修改目标端口为指定端口A ;该指定端口 A与目的端口的连接自动终止;当该数据包为允许通过的TCP数据包时,上述将所述允许通过的数据包进行代理通信包括:修改TCP数据包的目的IP地址为虚拟内核设备的地址,修改目标端口为指定端口 B ;建立应用程序APP与TCP代理服务程序的本地套接字A以及TCP代理服务程序与通信目标的套接字B ;TCP数据包经本地套接字A以及套接字B的转发完成应用程序APP与通信目标的通信。优选的,当上述数据包为UDP数据包时,上述根据过滤规则,对数据包进行过滤包括:根据过滤规则,判定UDP数据包为允许通过的UDP数据包或禁止通过的UDP数据包;当该数据包为禁止通过的UDP数据包时,上述将禁止通过的数据包丢弃和/或拒绝包括:将该UDP数据包丢弃;当该数据包为允许通过的UDP数据包时,上述将允许通过的数据包进行代理通信包括:在m)P代理服务程序中创建新的UDP套接字Al ;该UDP数据包经由新的UDP套接字Al的转发完成本地应用程序APP与通信目标的通信。优选的,上述方法还包括:对允许通过的数据包和禁止通过的数据包进行计量;对允许通过的数据包进行转发速率控制。与上述安卓系统非超级用户权限下数据包过滤方法相对应,本专利技术还提供了安卓系统非超级用户权限下数据包过滤装置,包括IO模块;该IO模块,用于读取预先启动的虚拟内核设备TUN根据默认路由策略拦截的数据包;还用于根据数据包的IP五元组确定该数据包所属的应用程序APP ;以及还用于根据过滤规则表以及数据包所属的应用程序APP对数据包进行过滤。与上述安卓系统非超级用户权限下数据包过滤方法和装置相对应,本专利技术还提供了安卓系统非超级用户权限下数据包过滤系统,包括虚拟内核设备TUN、TCP代理服务程序、UDP代理服务程序和上述IO模块;虚拟内核设备TUN,配置有默认路由策略,用于根据上述默认路由策略拦截数据包;IO模块,与虚拟内核设备TUN连接,用于读取被拦截的数据包;根据数据包的IP五元组确定该数据包所属的应用程序APP;再根据预先设置的过滤规则表以及数据包所属的应用程序APP对数据包进行过滤;TCP代理服务程序,用于当数据包为允许通过的TCP数据包时,与IO模块、虚拟内核设备TUN配合实现TCP数据包的代理通信;UDP代理服务程序,用于当数据包为允许通过的UDP数据包时,与IO模块、虚拟内核设备TUN配合实现UDP数据包的代理通信;上述TCP代理服务程序和UDP代理服务程序为本地服务程序。与上述方法相应,在本专利技术的实施例中提供的安卓系统非超级用户权限下数据包过滤装置和系统,通过虚拟内核设备TUN对数据包进行拦截,然后再由与之相连的IO模块读取该数据包,由该数据包的IP五元组确认其所属的应用程序APP,该IO模块根据过滤规则表及该应用程序APP,与TCP代理服务程序或UDP代理服务程序对数据包进行过滤,实现有选择的网络通信;同时,整个过程在非用户权限下便可实现,提高了用户设备的安全性,降低了病毒程序传播的可能性。【附图说明】图1示出了本专利技术提供的安卓系统非超级用户权限下数据包过滤方法的示意图;图2示出了当数据包为TCP数据包时,本专利技术提供的系统的工作的示意图;图3示出了当数据包为UDP数据包时,本专利技术提供的系统的工作的示意图。【具体实施方式】下面通过具体的实施例子并结合附图对本专利技术做进一步的详细描述。如图1所示,本专利技术提供了一种安卓系统非超级用户权限下数据包过滤方法,包括如下步骤:SlOl:读取预先启动的虚拟内核设备TUN根据默认路由策略拦截的数据包;S102:根据上述数据包的IP五元组确定该数据包所属的应用程序APP ;S103:根据预本文档来自技高网...
安卓系统非超级用户权限下数据包过滤方法、装置和系统

【技术保护点】
安卓系统非超级用户权限下数据包过滤方法,其特征在于,包括:读取预先启动的虚拟内核设备TUN根据默认路由策略拦截的数据包;根据所述数据包的IP五元组确定该数据包所属的应用程序APP;根据预先设置的过滤规则表及所述数据包所属的应用程序APP,确定所述数据包的过滤规则;根据所述过滤规则,对所述数据包进行过滤。

【技术特征摘要】
1.安卓系统非超级用户权限下数据包过滤方法,其特征在于,包括: 读取预先启动的虚拟内核设备TUN根据默认路由策略拦截的数据包; 根据所述数据包的IP五元组确定该数据包所属的应用程序APP ; 根据预先设置的过滤规则表及所述数据包所属的应用程序APP,确定所述数据包的过滤规则; 根据所述过滤规则,对所述数据包进行过滤。2.根据权利要求1所述的方法,其特征在于,所述预先设置的过滤规则表由默认规则生成或由用户通过对过滤规则编辑模块进行编辑后生成。3.根据权利要求2所述的方法,其特征在于,所述默认规则包括: 禁止非安卓系统服务的第三方后台服务进行的移动蜂窝通信; 不限制应用程序APP使用无线局域网通信; 当应用程序APP处于前台时,允许所述应用程序APP通过当前可用网络接口进行通?目; 当应用程序APP处于后台时,禁止除在线音视频流以及其他非系统服务之外的应用程序APP使用网络连接进行通信。4.根据权利要求1所述的方法,其特征在于,所述根据过滤规则,对所述数据包进行过滤包括: 根据所述过滤规则对所述数据包进行判别,分为允许通过的数据包和禁止通过的数据包; 当所述数据包为禁止通过的数据包时,将所述禁止通过的数据包丢弃和/或拒绝; 当所述数据包为允许通过的数据包时,将所述允许通过的数据包进行代理通信。5.根据权利要求4所述的方法,其特征在于,所述数据包包括TCP数据包和/或UDP数据包。6.根据权利要求5所述的方法,其特征在于,当所述数据包为TCP数据包时,所述根据过滤规则,对数据包进行过滤包括: 根据过滤规则,判定所述TCP数据包为允许通过的TCP数据包或禁止通过的TCP数据包; 当所述数据包为禁止通过的TCP数据包时,将禁止通过的数据包丢弃和/或拒绝包括:修改所述TCP数据包的目的IP地址为虚拟内核设备的地址,修改目标端口为指定端口 A ;所述指定端口 A与所述目的端口的连接自动终止; 当所述数据包为允许通过的TCP数据包时,将所述允许通过的数据包进行代理通信包括:修改所述TCP数据包的目的IP地址为虚拟内核设备的地址,修改目标端口为指定端口B ; 建立所述应用程序APP与TCP代理服务程序的本地套接字A以及TCP代理服务程序与通信目标的套接字B ; ...

【专利技术属性】
技术研发人员:封逸飞
申请(专利权)人:北京联宇益通科技发展有限公司
类型:发明
国别省市:北京;11

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1