本发明专利技术提供了针对android的流量代理方法及系统,方法包括以下步骤:应用监控服务对应用的底层流量进行拦截,并将拦截的底层流量重定向到本地地址;本地代理服务在拦截的底层流量上添加对应的头信息,得到完整流量;业务分析服务根据头信息将完整流量投放给对应的业务服务器。该方法基于应用层面实现,不影响设备中其他应用的使用;不需要拨号,在底层完成底层流量的筛选和认证,提高用户体验感;能够在底层流量中添加头信息,便于进行流量的统计和分析。
【技术实现步骤摘要】
一种针对android的流量代理方法及系统
本专利技术属于网络安全
,具体涉及一种针对android的流量代理方法及系统。
技术介绍
现有企业一般都是采用传统的vpn进行流量代理。但是这种方法存在以下问题:1、这种方法基于设备层面实现,当开了vpn后,几乎大部分应用的流量默认都走vpn,这样就影响了设备中其他应用的使用。2、当网络不稳定的时候,需要重新拨号,用户体验感不好。3、不方便分类采集应用的数据,不方便对采集的数据进行分析。
技术实现思路
针对现有技术中的缺陷,本专利技术提供一种针对android的流量代理方法及系统,不影响设备中其他应用的使用,提高用户体验感。第一方面,一种针对android的流量代理方法,包括以下步骤:应用监控服务对应用的底层流量进行拦截,并将拦截的底层流量重定向到本地地址;本地代理服务在拦截的底层流量上添加对应的头信息,得到完整流量;业务分析服务根据头信息将完整流量投放给对应的业务服务器。优选地,该方法在所述应用监控服务对应用的底层流量进行拦截之前,还包括:采用hook方式替换进程的系统函数。优选地,所述采用hook方式替换进程的系统函数具体包括:获取android系统中/proc/self/maps文件;从/proc/self/maps文件中读取进程中加载的所有库文件;查找库文件中是否存在需要替换的系统函数;如果存在,用预设的自定义函数替换该系统函数。优选地,所述应用监控服务对应用的底层流量进行拦截,并将拦截的底层流量重定向到本地地址具体包括:用替换后的所述自定义函数对底层流量进行地址筛选;将筛选出的底层流量重定向到本地地址。优选地,所述头信息包括底层流量的权限。第二方面,一种针对android的流量代理系统,所述流量代理系统为软件开发工具包,并集成在应用中;所述流量代理系统包括应用监控服务、本地代理服务和业务分析服务;应用监控服务用于对应用的底层流量进行拦截,并将拦截的底层流量重定向到本地地址;本地代理服务用于在拦截的底层流量上添加对应的头信息,得到完整流量;业务分析服务用于根据头信息将完整流量投放给对应的业务服务器。优选地,所述应用监控服务还用于采用hook方式替换进程的系统函数。优选地,所述应用监控服务具体用于:获取android系统中/proc/self/maps文件;从/proc/self/maps文件中读取进程中加载的所有库文件;查找库文件中是否存在需要替换的系统函数;如果存在,用预设的自定义函数替换该系统函数。优选地,所述应用监控服务具体用于:用替换后的所述自定义函数对底层流量进行地址筛选;将筛选出的底层流量重定向到本地地址。优选地,所述头信息包括底层流量的权限。由上述技术方案可知,本专利技术提供的针对android的流量代理方法及系统,具有以下优点:1、基于应用层面实现,不影响设备中其他应用的使用。2、不需要拨号,在底层完成底层流量的筛选和认证,提高用户体验感。3、能够在底层流量中添加头信息,便于进行流量的统计和分析。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。图1为本专利技术实施例一提供的流量代理方法的流程图。图2为本专利技术实施例二提供的流量代理系统的框图。具体实施方式下面将结合附图对本专利技术技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,因此只作为示例,而不能以此来限制本专利技术的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本专利技术所属领域技术人员所理解的通常意义。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本专利技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本专利技术。如在本专利技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。实施例一:一种针对android的流量代理方法,参见图1,包括以下步骤:应用监控服务对应用的底层流量进行拦截,并将拦截的底层流量重定向到本地地址;本地代理服务在拦截的底层流量上添加对应的头信息,得到完整流量;业务分析服务根据头信息将完整流量投放给对应的业务服务器。具体地,业务分析服务将完整流量投放给对应的业务服务器时,先将完整流量发到网关进行权限校验,并根据校验结果投放给对应的业务服务器,这样就可以把流量权限细化到单个业务。该针对android的流量代理方法,具有以下优点:1、基于应用层面实现,不影响设备中其他应用的使用。2、不需要拨号,在底层完成底层流量的筛选和认证,提高用户体验感。3、能够在底层流量中添加头信息,便于进行流量的统计和分析。优选地,该方法在所述应用监控服务对应用的底层流量进行拦截之前,还包括:采用hook方式替换进程的系统函数,具体包括:获取android系统中/proc/self/maps文件;从/proc/self/maps文件中读取进程中加载的所有库文件;查找库文件中是否存在需要替换的系统函数;如果存在,用预设的自定义函数替换该系统函数。具体地,该方法在进行底层流量拦截时,首先采用hook方式替换进程的系统函数。该方法可以从android系统的/proc/self/maps文件读取进程加载的所有库文件,然后遍历库文件,查找有没有想要替换的系统函数。如果符号表有设置的系统函数,用自定义函数地址替换掉原来的函数地址,然后在自定义函数中对底层流量进行地址筛选,把符合条件的底层流量重定向到之前预先分配好的本地地址,进行进一步处理。例如,tcp拦截是由以下几步实现:1.客户端开启拦截后通过协议在服务端获取需要拦截的地址。2.客户端初始需要监听tcp端口与要拦截的地址做映射。3.客户在该进程发起基于tcp请求(如http,本文档来自技高网...
【技术保护点】
1.一种针对android的流量代理方法,其特征在于,包括以下步骤:/n应用监控服务对应用的底层流量进行拦截,并将拦截的底层流量重定向到本地地址;/n本地代理服务在拦截的底层流量上添加对应的头信息,得到完整流量;/n业务分析服务根据头信息将完整流量投放给对应的业务服务器。/n
【技术特征摘要】
1.一种针对android的流量代理方法,其特征在于,包括以下步骤:
应用监控服务对应用的底层流量进行拦截,并将拦截的底层流量重定向到本地地址;
本地代理服务在拦截的底层流量上添加对应的头信息,得到完整流量;
业务分析服务根据头信息将完整流量投放给对应的业务服务器。
2.根据权利要求1所述针对android的流量代理方法,其特征在于,该方法在所述应用监控服务对应用的底层流量进行拦截之前,还包括:
采用hook方式替换进程的系统函数。
3.根据权利要求2所述针对android的流量代理方法,其特征在于,所述采用hook方式替换进程的系统函数具体包括:
获取android系统中/proc/self/maps文件;
从/proc/self/maps文件中读取进程中加载的所有库文件;
查找库文件中是否存在需要替换的系统函数;
如果存在,用预设的自定义函数替换该系统函数。
4.根据权利要求3所述针对android的流量代理方法,其特征在于,所述应用监控服务对应用的底层流量进行拦截,并将拦截的底层流量重定向到本地地址具体包括:
用替换后的所述自定义函数对底层流量进行地址筛选;
将筛选出的底层流量重定向到本地地址。
5.根据权利要求1所述针对android的流量代理方法,其特征在于,
所述头信息包括底层流量的权限。
【专利技术属性】
技术研发人员:刘时,汪善富,
申请(专利权)人:深圳市联软科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。