本地代理的处理方法及装置制造方法

文档序号:7773826阅读:239来源:国知局
本地代理的处理方法及装置制造方法【专利摘要】本发明公开了一种本地代理的处理方法及装置。该方法包括:接收访问网络请求,根据预设条件和预设规则参数判断本地代理软件是否正常运行;当所述本地代理软件正常运行时,将所述访问网络请求定向至本地代理软件,以供所述本地代理软件将所述访问网络请求转发到代理服务器,以使所述代理服务器请求网络服务器进行网络服务;当所述本地代理软件非正常运行时,将所述访问网络请求定向至网络服务器。本发明提供的本地代理软件的处理方法及装置解决了由于本地代理软件的进程被杀死后不能及时上网的问题。【专利说明】本地代理的处理方法及装置【
技术领域
】[0001]本发明实施例涉及网络通信技术,尤其涉及一种本地代理的处理方法及装置。【
背景技术
】[0002]目前智能终端设备上流行使用透明代理软件提供全局代理上网的能力,透明代理软件也称为本地代理软件,其核心原理是利用操作系统中数据包处理工具完成网络访问请求的重定向。安卓(Android)系统使用的是Linux的内核,在Linux2.4以后的内核中,内核中的Iptables与netfilter—起完成系统中数据的过滤、重定向等功能,其中,Iptables可称为网络访问处理模块,netfilter可称为网络过滤模块。[0003]图1是现有技术提供的通过本地代理软件进行网络访问的流程图。如图1所示,步骤1、本地代理服务启动后会监听一个本地端口;步骤2、例如淘宝、浏览器等应用程序,需要访问网络时,会将网络访问请求经过Iptables进行处理;步骤3、Iptables将网络访问请求重定向至本地代理软件监听的本地端口;步骤4、本地代理软件将网络访问请求转发至代理服务器;步骤5、代理服务器请求网络服务器进行网络服务。[0004]然而,在安卓系统中,由于资源有限,系统在必要的时候会自动杀死后台进程,这样本地代理软件的进程就有可能被意外或人为杀死,此时,应用程序的网络访问请求仍然被重定向到本地代理软件,网络访问请求则无法被正常处理,表现为不能上网。[0005]目前,本地代理软件通常会利用一些技术手段让自己被杀死后快速重启,本地代理软件被杀死后快速重启一般是通过定时器或系统事件进行的,但这样会额外消耗系统资源,而且在本地代理软件重启的过程中无法退出软件。或者还可以将本地代理软件利用系统提供的能力设计成不可杀死的进程,但一般需要刷机或通过超级管理员身份登录将软件安装到系统目录中,这样软件会常驻内存。这两种方式的用户体验都非常差。【
发明内容】[0006]本发明提供一种本地代理的处理方法及装置,以解决在本地代理软件进程非正常关闭时无法及时访问网络的问题。[0007]本发明的第一方面提供了一种本地代理的处理方法,其中,包括:[0008]接收访问网络请求,根据预设条件和预设规则参数判断本地代理软件是否正常运行;[0009]当所述本地代理软件正常运行时,将所述访问网络请求定向至本地代理软件,以供所述本地代理软件将所述访问网络请求转发到代理服务器,以使所述代理服务器请求网络服务器进行网络服务;[0010]当所述本地代理软件非正常运行时,将所述访问网络请求定向至网络服务器。[0011]结合第一方面,在第一方面的第一种可能的实现方式中,所述接收访问网络请求,根据设定条件和预设规则参数判断本地代理软件是否正常运行,包括:[0012]通过操作系统内核的Iptables获取所述本地代理软件的配置指令中携带的所述预设规则参数;[0013]根据所述预设条件和所述预设规则参数判断所述本地代理软件是否正常运行。[0014]结合第一方面、第一方面的第一种可能实现的方式,在第一方面的第二种可能的实现方式中,所述预设规则参数包括命令参数、条件名称、条件参数和条件参数值。[0015]结合第一方面的第二种可能实现的方式,在第一方面的第三中可能的实现方式中,在所述预设条件为本地代理软件的本地端口是否处于监听状态时,根据预设条件和预设规则参数判断本地代理软件是否正常运行,包括:[0016]识别所述预设规则参数中是否包含命令参数;[0017]当识别到所述预设规则参数中包含命令参数时,识别所述条件名称是否为端口;[0018]当识别到所述条件名称为端口时,识别所述条件参数是否为监听端口指示;[0019]当识别到所述条件参数为监听端口指示时,判断所述条件参数值对应的端口号是否合法;[0020]当判断出所述端口号合法时,通过所述操作系统内核的netfilter,遍历所述操作系统内核中的Socket监听列表,判断所述端口号对应的端口是否处于监听状态;若是,则所述本地代理软件正常运行,否则为非正常运行。[0021]结合第一方面的第二种可能实现方式,在第一方面的第四种可能实现方式中,在所述预设条件为所述本地代理软件的进程标识是否在本机的运行进程集合中时,根据预设条件和预设规则参数判断本地代理软件是否正常运行包括:[0022]识别所述预设规则参数中是否包含命令参数;[0023]当识别到所述预设规则参数中包含命令参数时,识别所述条件名称是否为进程标识;[0024]当识别到所述条件名称为进程标识时,识别所述条件参数是否为检测进程标识指示;[0025]当识别到所述条件参数为检测进程标识指示时,判断所述条件参数值对应的进程标识号是否合法;[0026]当判断出所述进程标识号合法时,通过操作系统内核的netfilter,检测本机的运行进程集合中,是否包括所述进程标识号对应的进程标识;若是,则确定所述本地代理软件正常运行,否则为非正常运行。[0027]本发明的第二方面提供了一种本地代理的处理装置,其中,包括:[0028]接收模块,用于接收访问网络请求;[0029]处理模块,用于在所述接收模块接收到所述访问网络请求后,根据预设条件和预设规则参数判断本地代理软件是否正常运行;[0030]定向模块,用于当所述处理模块判断出所述本地代理软件正常运行时,将所述访问网络请求定向至本地代理软件,以供所述本地代理软件将所述访问网络请求转发到代理服务器,以使所述代理服务器请求网络服务器进行网络服务;[0031]所述定向模块,还用于当所述处理模块判断出所述本地代理软件非正常运行时,将所述访问网络请求定向至所述网络服务器。[0032]结合第二方面,在第二方面的第一种可能实现方式中,所述处理模块包括:[0033]获取单元,用于通过操作系统内核的Iptables获取所述本地代理软件的配置指令中携带的所述预设规则参数;[0034]检测单元,用于根据所述预设条件和所述预设规则参数判断所述本地代理软件是否正常运行。[0035]结合第二方面的第一种可能实现的方式,在第二方面的第二中可能的实现方式中,在所述预设条件为所述本地代理软件的本地端口是否处于监听状态,所述预设规则参数包括:命令参数、条件名称、条件参数、条件参数值时,所述检测单元具体包括:[0036]识别子单元,用于识别所述预设规则参数中是否包含命令参数,当所述预设规则参数中包含命令参数时,识别所述条件名称是否为端口;当识别到所述条件名称为端口时,识别所述条件参数是否为监听端口指示;当识别到所述条件参数为监听端口指示时,判断所述条件参数值对应的端口号是否合法;[0037]检测子单元,用于当所述识别子单元判断出所述端口号合法时,通过所述操作系统内核的netfilter,遍历所述操作系统内核中的Socket监听列表,判断所述端口号对应的端口是否处于监听状态;若是,则所述本地代理软件正常运行,否则为非正常运行。[0038]结合第二方面的第一种可能实现的方式,在第二方面的第三种可能实现方式中,在所述预设条件为所述本地代理软件的进程标识是否在本机的运行进程集合中,所述预设规则参数包括:命令参数、条件名称、条件参数和条件参数值时,所述检测单元具体包括:[0039]识别子单元,用于识别所述预设规则参数中是否包含命令参数,当所述预设规则参数中包含命令参数时,识别所述条件名称是否为进程标识;当识别到所述条件名称为进程标识时,识别所述条件参数是否为检测进程标识指示;当识别到所述条件参数为检测进程标识指示时,判断所述条件参数值对应的进程标识号是否合法;[0040]检测子单元,用于当所述识别子单元判断出所述进程标识号合法时,通过所述操作系统内核的netfilter,检测本机的运行进程集合中,是否包括所述进程标识号对应的进程标识;若是,则确定所述本地代理软件正常运行,否则为非正常运行。[0041]本发明通过预设条件和预设规则参数来判断本地代理软件是否正常运行,如果正常运行则将访问网络请求定向至本地代理软件,本地代理软件将所述访问网络请求转发到代理服务器,代理服务器请求网络服务器进行网络访问,从而达到网络访问的目的,如果代理软件运行不正常,则将网络访问请求直接定向至网络服务器,从而实现了在代理软件进程被杀死时也能够及时访问网络。【专利附图】【附图说明】[0042]图1为现有技术提供的通过本地代理软件进行网络访问的流程图;[0043]图2为本发明实施例一提供的本地代理的处理方法的流程图;[0044]图3为本发明实施例二提供的本地代理软件的处理方法的流程图;[0045]图4为本发明实施例三提供的本地代理软件的处理方法的流程图;[0046]图5为本发明实施例四提供的本地代理的处理装置的结构示意图;[0047]图6A为本发明实施例五提供的本地代理的处理装置的处理模块的结构示意图;[0048]图6B为本发明实施例五提供的本地代理的处理装置的处理模块的检测单元的结构示意图;【具体实施方式】[0049]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0050]鉴于本地代理软件的进程有可能被意外或人为杀死后,应用程序的网络访问请求仍然被重定向到本地代理软件,网络访问请求不能被处理,从而不能上网,本发明提供一种本地代理的处理方法,用来解决由于代理软件进程被杀死后不能及时上网的问题。[0051]实施例一[0052]图2为本发明实施例一提供的本地代理的处理方法的流程图,如图2所示,[0053]步骤201,接收访问网络请求;[0054]在本实施例中,终端设备上安装的应用程序,如淘宝、浏览器等要访问网络时,会向操作系统内核中的相应功能软件发送访问网络请求,该相应功能软件对此访问网络请求进行处理。对于安卓操作系统,一般是由操作系统内核中的Iptables接收并处理访问网络请求,因此,在本实施例中,由Iptables接收访问网络请求。[0055]步骤202,根据预设条件和预设规则参数判断本地代理软件是否正常运行;若正常运行,则执行步骤203;若非正常运行,则执行步骤204。[0056]在本实施例中,优选的,该预设条件可以为本地代理软件的本地端口是否在监听,或者为本地代理软件的进程标识是否在本机的运行进程集合中,该预设条件以该预设规则参数的方式存储在本机中。[0057]另外,优选的,该预设规则参数包括命令参数、条件名称、条件参数和条件参数值,该预设规则参数可以预先设定在内核软件中,也可以由用户预先自定义设置,并设置在本地代理软件的配置指令中。[0058]步骤203,将该访问网络请求定向至本地代理软件,以供该本地代理软件将该访问网络请求转发到代理服务器,以使该代理服务器请求网络服务器进行网络服务;结束。[0059]步骤204,将该访问网络请求定向至网络服务器。结束[0060]在本实施例中,当由步骤202中判断出本地代理软件正常运行时,则执行步骤203,将该访问网络请求定向至本地代理软件,本地代理软件将访问网络请求转发至代理服务器,进而通过代理服务器与网络服务器实现通信达到网络访问的目的。当步骤202中判断出本地代理软件非正常运行,则执行步骤204,将该访问网络请求定向至网络服务器,即不通过本地代理软件达到网络访问的目的,应用程序直连网络服务器,从而解决了由于代理软件进程被杀死后不能及时上网的问题。[0061]实施例二[0062]图3为本发明实施例二提供的判断本地代理的处理的方法的流程图,本实施例是在实施例一的基础上提供的一种可选的实施方式。在上述技术方案的基础上,在本实施例中,以该预设条件为本地代理软件的本地端口是否处于监听状态,预设规则参数包括命令参数、条件名称、条件参数和条件参数值为例,详细介绍本实施例的技术方案。[0063]另外,还需要说明的是,当本地代理软件的代理服务启动后,会在本地监听一个端口,称之为本地端口。为了能更清楚的阐明本实施例,现举例进行说明。例如,本地代理服务启动后监听的本地端口号为5555,在现有技术中,通过本地代理软件转发访问网络请求时,本地代理软件的配置指令可能是:iptables_tnat_AOUTPUT-ptcp-dport80_jDNAT-to-destinationl27.0.0.0:5555,这条指令的作用是,启动iptables的网络地址转换(NAT)功能,转发所有目标是80的TCP协议的数据包到127.0.0.1的5555端口。由于HTTP服务的默认的端口是80,设置这条指令后,系统中所有的web上网请求都会被重定向到本地的5555端口,即都会由本地代理软件处理,本地代理软件将应用程序的HTTP请求转发代理服务器,由代理服务器最终访问网络服务器。[0064]在本实施例中,增加预设规则参数后的本地代理软件的配置指令可能如:iptables-tnat_AOUTPUT-ptcp-mport-tcp-port-using5555_dport80-jDNAT—to—destinationl27.0.0.0:5555,其中,“_mport-tcp-port-using5555”为本实施例较现有技术新增加的指令字符串,即预设规则参数,具体的,“n”为命令参数,“port”为预设规则参数中的条件名称,即条件名称为端口,“tcp-port-using”为预设规则参数中的条件参数,即条件参数为监听端口指示,“5555”为预设规则参数中的条件参数值,即条件参数值为端口号。[0065]如图3所示,步骤202的一种具体实现方式为:[0066]步骤301、通过操作系统内核的Iptables获取本地代理软件的配置指令中携带的该预设规则参数。[0067]步骤302,识别该预设规则参数中是否包含命令参数;若包含,则执行步骤303,若不包含,则执行步骤308;[0068]在本实施例中,Iptables获取本地代理软件的配置指令中携带的预设规则参数后,识别该预设规则参数中是否包含命令参数“-m”。[0069]步骤303,识别该条件名称是否为端口;若是,则执行步骤304,若不是则执行步骤308;[0070]在本实施例中,预设条件为本地代理软件的本地端口是否在监听,相应的预设规则参数中的条件名称为端口,当识别出该预设规则参数中包含命令参数后,识别该条件名称是否为端口,结合所举例子,识别该预设规则参数的条件名称是否为“port”,如果是,则执行步骤304,如果不是,则执行步骤308。[0071]步骤304,识别该条件参数是否为监听端口指示,如果是,则执行步骤305,如果不包括,则执行步骤308;[0072]在本实施例中,当由步骤303中识别出该条件名称为端口时,识别该条件参数是否为监听端口指示,结合所举例子,在步骤303中识别出该条件名称是“port”时,识别该条件参数是否为“tcp-port-using”,如果是,则执行步骤305,如果不是,则执行步骤308。[0073]步骤305,识别该条件参数值对应的端口号是否合法,若是,则执行步骤306,若否,则执行步骤308;[0074]在本实施例中,当由步骤304中识别出该条件参数为监听端口指示时,识别该条件参数值对应的端口号是否合法,结合所举例子,在步骤304中识别出该条件参数为“tcp-port-using”,然后识别该条件参数值“5555”,即该监听端口的端口号“5555”,判断该端口号“5555”是否合法,端口号合法是指该端口号是否在合理的范围内,在实际操作中,端口号的合理范围为0-65535,5555在0-65535内,因此,在所举例子中,该端口号是合法的,则执行步骤306,然而,如果判断出端口号不合法,则执行步骤308。[0075]步骤306,通过该操作系统内核的netfiIter,遍历该操作系统内核中的Socket监听列表,判断该端口号对应的端口是否处于监听状态;若是,则执行步骤307,若否,则执行步骤308;[0076]在本实施例中,结合所举例子,当由步骤305中识别出端口号是合法的,Iptables将该条件参数值对应的端口号提供给操作系统内核的nefilter,通过netfilter遍历操作系统内核中的Socket监听列表,判断该端口号对应的端口是否处于监听状态,如果是,则执行步骤307,如果不是,则执行步骤308;[0077]在本实施例中,结合所举例子,Iptables将端口号“5555”提供给netfilter,netfilter遍历操作系统内核中的Socket监听列表,然后判断端口“5555”对应的端口是否处于监听状态,如果是监听状态,则表明本地代理软件正常运行,则执行步骤307,如果不是监听状态,则表明本地代理软件运行不正常,则执行步骤308。[0078]步骤307,本地代理软件运行正常。结束[0079]步骤308,本地代理软件运行不正常。结束。[0080]本实施例的技术方案,首先识别出该预设规则参数中是否包含命令参数,然后识别出条件名称为端口,进一步识别出条件参数为监听端口指示,最后识别出条件参数值对应的端口号是合法的,并将该条件参数值提供给netfilter,netfilter通过遍历操作系统内核中的Socket监听列表,从而判断该端口号对应的端口是否处于监听状态,由此判断本地代理软件运行是否正常运行。如果本地代理软件正常运行,由本地代理软件转发网络访问请求至代理服务器,由代理服务器请求网络服务器,从而达到网络访问的目的,如果本地代理软件不正常运行,应用程序直连网络服务器,从而达到网络访问的目的,从而解决了代理软件进程被杀死后不能上网的问题。[0081]实施例三[0082]图4为本发明实施例三提供的判断本地代理软件是否正常运行的方法的流程图,本实施例是在实施例一的基础上提供的一种可选的实施例,在本实施例中,以该预设条件为本地代理软件的进程标识是否在本机的运行进程集合中,该预设规则参数包括命令参数、条件名称、条件参数和条件参数值为例详细介绍本实施例的技术方案。[0083]在本实施例中,举例来说,在安卓系统中,安卓系统会为每一个已安装的非安卓系统应用程序分配一个Uid标识,即进程标识,由安卓系统保持其值得唯一性。例如,以安卓系统为例进行说明,安卓系统为本地代理软件分配的进程标识为10080,本地代理服务启动后监听的本地端口号为5555,在现有技术中,通过本地代理软件转发访问网络请求时,本地代理软件的配置指令可能是:iptables_tnat_AOUTPUT-ptcp-dport80-jDNAT-to-destinationl27.0.0.0:5555,这条指令的含义在实施例三中已经进行了详细的说明,在此不再赘述,在本实施例中,增加预设条件后的本地代理软件的配置指令可以为:iptables-tnat_A0UTPUT-ptcp-mappid-app-1d-usingl0080-dport80-jDNAT-to-destinationl27.0.0.0:5555,其中,“-mappid-app-1d_usingl0080”为新增加的指令字符串,即预设规则参数,其中,“_m”为命令参数,“appid”为条件名称,即条件名称为进程标识,“app-1d-using”为条件参数,即条件参数为检测进程标识指示,“10080”为条件参数值,即条件参数值为进程标识号。[0084]如图4所示,步骤202的另一种具体实现方式为:[0085]步骤401、通过操作系统内核的Iptables获取本地代理软件的配置指令中携带的该预设规则参数。[0086]步骤402,识别该预设规则参数中是否包含命令参数;若包含,则执行步骤403,若不包含,则执行步骤408;[0087]本实施例中的命令参数和实施例二中的命令参数相同。[0088]步骤403,识别该条件名称是否为进程标识,若是,则执行步骤404,若不是,则执行步骤408;[0089]在本实施例中,预设条件为本地代理软件的进程标识是否在本机运行的进程集合中,当由步骤402识别出该预设规则参数中包含命令参数后,识别该条件名称是否为进程标识,结合所举例子,如果在步骤402中识别出该预设规则参数中包含命令参数“-m”后,识别该条件名称是否为“appid”,如果是,则执行步骤404,如果不是,则执行步骤408。[0090]步骤404,识别该条件参数是否为检测进程标识指示,若是,则执行步骤405,若不是,则执行步骤408;[0091]在本实施例中,当由步骤403中识别出该条件名称为进程标识时,识别该条件参数是否为检测进程标识指示,结合所举例子,在步骤403中识别出该配置指令中的条件名称是“appid”,然后识别该条件参数是否为“app-1d-using”,如果是,则执行步骤405,反之,则执行步骤408。[0092]步骤405,识别该条件参数值对应的进程标识号是否合法,若合法,则执行步骤406,若不合法,则执行步骤408;[0093]在本实施例中,当由步骤404中识别出该条件参数为检测进程标识指示时,识别该条件参数值对应的进程标识号是否合法,结合所举例子,在步骤404中识别出该条件参数为“app-1d-using”,然后识别该条件参数值“10080”,即该代理软件的进程标识号“10080”是否合法,即该进程标识号是否在系统中,如果在,则说明该配置指令中的条件参数值对应的进程标识是合法的,则执行步骤406,如果不在,则执行步骤408。[0094]步骤406,通过该操作系统内核的netfilter,检测本机的运行进程集合中,是否包括该进程标识号对应的进程标识;若是,则执行步骤407,若否,则执行步骤408;[0095]在本实施例中,结合所举例子,当由步骤405识别出进程标识号是合法的,Iptables将该条件参数值对应的进程标识号提供给操作系统内核的netfilter,通过netfilter检测本机的运行进程集合中,是否包括该进程标识。若是,则执行步骤407,若否,则执行步骤408。[0096]在本实施例中,结合所举例子,Iptables将进程标识号“10080”提供给netfilter,netfilter遍历当前系统中所有正在运行进程的集合,检查本地代理软件的进程标识号“10080”对应的进程标识是否在所有正在运行进程的集合中。如果代理软件的进程标识在该运行进程集合中,则本地代理软件运行正常,则执行步骤407,如果不在,则本地代理软件运行不正常,则执行步骤408。[0097]步骤407,本地代理软件运行正常。结束。[0098]步骤408,本地代理软件运行不正常。结束。[0099]本实施例的技术方案,首先是识别出该预设规则参数中是否包含命令参数,然后识别出条件名称为进程标识,进一步识别出条件参数为检测进程标识指示,最后识别出条件参数值对应的进程标识号是否合法的,并将该条件参数值提供给netfilter,netfilter通过检检测本机的运行进程集合,从而判断该运行进程集合中是否包括本地代理软件的进程标识,由此判断本地代理软件运行是否正常。如果本地代理软件正常运行,由本地代理软件转发网络访问请求至代理服务器,由代理服务器请求网络服务器,从而达到网络访问的目的,如果本地代理软件不正常运行,应用程序直连网络服务器,从而达到网络访问的目的,从而解决了代理软件进程被杀死后不能上网的问题。[0100]实施例四[0101]图5为本发明实施例四提供的本地代理的处理装置的结构示意图。如图5所示,本地代理软件的处理装置包括:接收模块51、处理模块52和向模块53,其中:[0102]接收模块51,用于接收访问网络请求;[0103]处理模块52,用于在该接收模块51接收到该访问网络请求后,根据预设条件和预设规则参数判断本地代理软件是否正常运行;定向模块53,用于当该处理模块52判断出本地代理软件正常运行时,将该访问网络请求定向至本地代理软件;以供该本地代理软件将该访问网络请求转发至代理服务器,以使该代理服务器请求网络服务器进行网络服务;该定向模块53,还用于当该处理模块52判断出该本地代理软件非正常运行时,将该访问网络请求定向至该网络服务器。[0104]本实施例的本地代理的处理装置可以执行图2所示方法实施例的技术方案,其实现原理相类似,此处不再赘述。[0105]本实施例的技术方案,通过接收模块接收访问网络请求后,处理模块根据预设条件和预设规则参数判断本地代理软件是否正常运行,当正常运行时,定向模块会将访问网络请求定向至本地代理软件,本地代理软件将访问网络请求转发至代理服务器,代理服务器请求网络服务器服务,从而达到网络访问的目的,当运行不正常是,定向模块还会将访问网络请求定向至网络服务器,不同过代理软件达到访问网络的目的。从而解决了由于本地代理软件进程被杀死后不能及时上网的问题。[0106]实施例五[0107]图6A为本发明实施例五提供的本地代理处理装置的处理模块的结构示意图,本实施例是在实施例四的基础上,对处理模块52的细化,在本实施例中,处理模块52包括:获取单元611和检测单元612,其中,获取单元611,用于通过操作系统内核的Iptables获取该本地代理软件的配置指令中携带的该预设规则参数;检测单元612,用于根据该预设条件和该预设规则参数判断本地代理软件是否正常运行。[0108]可选的,图6B为本发明实施例五提供的本地代理处理装置的处理模块52的检测单元612的结构示意图,如图6B所示,检测单元612包括识别子单元6121和检测子单元6122。[0109]在本实施例中,当该预设条件为该本地代理软件的本地端口是否处于监听状态时,识别子单元6121用于识别该预设规则参数中是否包含含命令参数,当该预设规则参数中包含命令参数时,识别该条件名称是否为端口;当识别到该条件名称为端口时,识别该条件参数是否为监听端口指示;当识别到该条件参数为监听端口指示时,判断该条件参数值对应的端口号是否合法;检测子单元6122,用于当该识别子单元判断出该端口号合法时,通过该操作系统内核的netfilter,遍历该操作系统内核中的Socket监听列表,判断该端口号对应的端口是否处于监听状态;若是,则该本地代理软件正常运行,否则为非正常运行。[0110]当该预设条件为该本地代理软件的进程标识是否在本机的运行进程集合中时,识别子单元6121用于识别该预设规则参数中是否包含命令参数,当该预设规则参数中包含命令参数时,识别该条件名称是否为进程标识;当识别到该条件名称为进程标识时,识别该条件参数是否为检测进程标识指示;当识别到该条件参数为检测进程标识指示时,判断该条件参数值对应的进程标识号是否合法;检测子单元6122,用于当该识别子单元判断出该进程标识号合法时,通过该操作系统内核的netfilter,检测本机的运行进程集合中,是否包括该进程标识号对应的进程标识;若是,则确定该本地代理软件正常运行,否则为非正常运行。[0111]本实施例的技术方案,获取单元通过操作系统内核的Iptables获取该本地代理软件的配置指令中携带的该预设规则参数,然后由检测单元中的识别子单元识别该预设规则参数中是否包含命令参数、条件名称、条件参数和条件参数值,最后由检测单元中的检测子单元检测本地代理软件是否正常运行,如果本地代理软件正常运行,则通过代理软件实现访问网络的目的,如果本地代理软件运行不正常,则通过应用程序直连网络服务器的方法达到网络访问的目的,从而解决了由于代理软件进程被杀死后不能及时上网的问题。[0112]本发明还提供了一种本地代理的处理装置,包括:存储器和处理器;其中,存储器,用于存储指令;处理器,与该存储器耦合,该处理器被配置为执行存储在该存储器中的指令,且该处理器被配置为用于执行上述图2至图4任一该的本地代理的处理方法。[0113]通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(⑶)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。[0114]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。【权利要求】1.一种本地代理的处理方法,其特征在于,包括:接收访问网络请求,根据预设条件和预设规则参数判断本地代理软件是否正常运行;当所述本地代理软件正常运行时,将所述访问网络请求定向至本地代理软件,以供所述本地代理软件将所述访问网络请求转发到代理服务器,以使所述代理服务器请求网络服务器进行网络服务;当所述本地代理软件非正常运行时,将所述访问网络请求定向至网络服务器。2.根据权利要求1所述的方法,其特征在于,所述接收访问网络请求,根据预设条件和预设规则参数判断本地代理软件是否正常运行,包括:通过操作系统内核的Iptables获取所述本地代理软件的配置指令中携带的所述预设规则参数;根据所述预设条件和所述预设规则参数判断所述本地代理软件是否正常运行。3.根据权利要求1或2所述的方法,其特征在于:所述预设规则参数包括命令参数、条件名称、条件参数和条件参数值。4.根据权利要求3所述的方法,其特征在于,在所述预设条件为本地代理软件的本地端口是否处于监听状态时,根据预设条件和预设规则参数判断本地代理软件是否正常运行,包括:识别所述预设规则参数中是否包含命令参数;当识别到所述预设规则参数中包含命令参数时,识别所述条件名称是否为端口;当识别到所述条件名称为·端口时,识别所述条件参数是否为监听端口指示;当识别到所述条件参数为监听端口指示时,判断所述条件参数值对应的端口号是否合法;当判断出所述端口号合法时,通过所述操作系统内核的netfilter,遍历所述操作系统内核中的Socket监听列表,判断所述端口号对应的端口是否处于监听状态;若是,则所述本地代理软件正常运行,否则为非正常运行。5.根据权利要求3所述的方法,其特征在于,在所述预设条件为所述本地代理软件的进程标识是否在本机的运行进程集合中时,根据预设条件和预设规则参数判断本地代理软件是否正常运行包括:识别所述预设规则参数中是否包含命令参数;当识别到所述预设规则参数中包含命令参数时,识别所述条件名称是否为进程标识;当识别到所述条件名称为进程标识时,识别所述条件参数是否为检测进程标识指示;当识别到所述条件参数为检测进程标识指示时,判断所述条件参数值对应的进程标识号是否合法;当判断出所述进程标识号合法时,通过操作系统内核的netfilter,检测本机的运行进程集合中,是否包括所述进程标识号对应的进程标识;若是,则确定所述本地代理软件正常运行,否则为非正常运行。6.一种本地代理的处理装置,其特征在于,包括:接收模块,用于接收访问网络请求;处理模块,用于在所述接收模块接收到所述访问网络请求后,根据预设条件和预设规则参数判断本地代理软件是否正常运行;定向模块,用于当所述处理模块判断出所述本地代理软件正常运行时,将所述访问网络请求定向至本地代理软件,以供所述本地代理软件将所述访问网络请求转发到代理服务器,以使所述代理服务器请求网络服务器进行网络服务;所述定向模块,还用于当所述处理模块判断出所述本地代理软件非正常运行时,将所述访问网络请求定向至所述网络服务器。7.根据权利要求6所述的装置,其特征在于,所述处理模块包括:获取单元,用于通过操作系统内核的Iptables获取所述本地代理软件的配置指令中携带的所述预设规则参数;检测单元,用于根据所述预设条件和所述预设规则参数判断所述本地代理软件是否正常运行。8.根据权利要求7所述的装置,其特征在于,在所述预设条件为所述本地代理软件的本地端口是否处于监听状态,所述预设规则参数包括:命令参数、条件名称、条件参数和条件参数值时,所述检测单元具体包括:识别子单元,用于识别所述预设规则参数中是否包含命令参数,当所述预设规则参数中包含命令参数时,识别所述条件名称是否为端口;当识别到所述条件名称为端口时,识别所述条件参数是否为监听端口指示;当识别到所述条件参数为监听端口指示时,判断所述条件参数值对应的端口号是否合法;检测子单元,用于当所述识别子单元判断出所述端口号合法时,通过所述操作系统内核的netfilter,遍历所述操作系统内核中的Socket监听列表,判断所述端口号对应的端口是否处于监听状态;若是,则所述本地代理软件正常运行,否则为非正常运行。9.根据权利要求7所·述的装置,其特征在于,在所述预设条件为所述本地代理软件的进程标识是否在本机的运行进程集合中,所述预设规则参数包括:命令参数、条件名称、条件参数和条件参数值时,所述检测单元具体包括:识别子单元,用于识别所述预设规则参数中是否包含命令参数,当所述预设规则参数中包含命令参数时,识别所述条件名称是否为进程标识;当识别到所述条件名称为进程标识时,识别所述条件参数是否为检测进程标识指示;当识别到所述条件参数为检测进程标识指示时,判断所述条件参数值对应的进程标识号是否合法;检测子单元,用于当所述识别子单元判断出所述进程标识号合法时,通过所述操作系统内核的netfilter,检测本机的运行进程集合中,是否包括所述进程标识号对应的进程标识;若是,则确定所述本地代理软件正常运行,否则为非正常运行。【文档编号】H04L29/08GK103533060SQ201310488213【公开日】2014年1月22日申请日期:2013年10月17日优先权日:2013年10月17日【发明者】靖轲申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1