移动终端的网络访问方法和装置的制造方法
【专利摘要】本发明公开了一种移动终端的网络访问方法和装置。其中,该方法包括:按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持,移动终端通过鉴权服务器与数据中心的CDN服务器连接;在判断出鉴权服务器的域名未被劫持的情况下,判断CDN服务器的域名是否被劫持;在判断出CDN服务器的域名未被劫持的情况下,将CDN服务器作为移动终端的代理服务器;在接收到移动终端上的应用发起访问目标网站的访问请求时,通过代理服务器解析出对应于访问请求中域名信息的第一IP地址,移动终端通过第一IP地址访问目标网站。本发明解决了相关技术中由于DNS服务器造成的移动终端不能访问目标网站的技术问题。
【专利说明】
移动终端的网络访问方法和装置
技术领域
[0001]本发明涉及互联网领域,具体而言,涉及一种移动终端的网络访问方法和装置。
【背景技术】
[0002]域名系统(Domain Name System,简称DNS),是因特网上作为域名和IP地址间相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接识别的IP数串。当用户在客户机上输入域名从本地发起访问后,会先查询本地DNS服务器来解析该域名名称,然后通过其自身缓存的信息来应答查询,或代表客户机来查询或联系其他DNS服务器并最终返回域名对应的IP地址,客户机(如手机、平板等移动终端)一般采用的是默认DNS服务器地址,该服务器一般是国内运营商在各地所设立的,运营商对其服务器缓存的信息具有修改权限,运营商出于商业等目的可能会返回错误的IP地址,在DNS服务器出现故障时或者被攻击后也可能返回错误的IP地址,从而导致客户机无法正常访问页面。
[0003]针对相关技术中由于DNS服务器造成的移动终端不能访问目标网站的技术问题,目前尚未提出有效的解决方案。
【发明内容】
[0004]本发明实施例提供了一种移动终端的网络访问方法和装置,以至少解决相关技术中由于DNS服务器造成的移动终端不能访问目标网站的技术问题。
[0005]根据本发明实施例的一个方面,提供了一种移动终端的网络访问方法,该方法包括:按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持,其中,移动终端通过鉴权服务器与数据中心的CDN服务器连接;在判断出鉴权服务器的域名未被劫持的情况下,判断CDN服务器的域名是否被劫持;在判断出CDN服务器的域名未被劫持的情况下,将CDN服务器作为移动终端的代理服务器;在接收到移动终端上的应用发起访问目标网站的访问请求时,通过代理服务器解析出对应于访问请求中域名信息的第一 IP地址,其中,移动终端通过第一 IP地址访问目标网站。
[0006]进一步地,判断鉴权服务器的域名是否被劫持包括:获取DNS服务器解析鉴权服务器的域名得到的第二 IP地址;读取预设文件中对应于鉴权服务器的域名的第三IP地址;判断第二IP地址与第三IP地址是否相同,其中,在判断出第二IP地址与第三IP地址相同的情况下,确定鉴权服务器的域名未被劫持。
[0007]进一步地,在判断第二IP地址与第三IP地址是否相同之后,该方法还包括:在判断出第二 IP地址与第三IP地址不相同的情况下,则控制移动终端通过预设IP地址与鉴权服务器通信,其中,预设IP地址保存在移动终端上。
[0008]进一步地,判断⑶N服务器的域名是否被劫持包括:获取DNS服务器解析⑶N服务器的域名得到的第四IP地址;读取预设文件中对应于CDN服务器的域名的第五IP地址;判断第四IP地址与第五IP地址是否相同,其中,在判断出第四IP地址与第五IP地址相同的情况下,确定CDN服务器的域名未被劫持。
[0009]进一步地,在判断第四IP地址与第五IP地址是否相同之后,该方法还包括:在判断出第四IP地址与第五IP地址不相同的情况下,则发送备用IP地址至移动终端,其中,移动终端通过备用IP地址与⑶N服务器通信。
[0010]进一步地,在按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持之前,该方法还包括:在移动终端上的应用启动时,获取为移动终端提供域名解析服务的DNS服务器的域名劫持率;在DNS服务器的域名劫持率超过预设值的情况下,发送告警邮件至移动终端上应用的通信邮箱。
[0011]进一步地,获取为移动终端提供域名解析服务的DNS服务器的域名劫持率包括:获取DNS服务器在预设时间段内解析的多个域名和解析多个域名中的每个域名得到的第六IP地址;获取CDN服务器解析多个域名中的每个域名得到的第七IP地址;基于DNS服务器解析得到的多个第六IP地址和CDN服务器解析得到的多个第七IP地址确定DNS服务器的域名劫持率,其中,在DNS服务器解析多个域名中任一域名得到的第六IP地址与⑶N服务器解析任一域名得到的第七IP地址不相同的情况下,则确定任一域名被DNS服务器劫持,劫持率为多个域名中被劫持的域名数量与多个域名的域名数量的比值。
[0012]根据本发明实施例的另一个方面,提供了一种移动终端的网络访问装置,该装置包括:第一判断单元,用于按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持,其中,移动终端通过鉴权服务器与数据中心的CDN服务器连接;第二判断单元,用于在判断出鉴权服务器的域名未被劫持的情况下,判断CDN服务器的域名是否被劫持;处理单元,用于在判断出⑶N服务器的域名未被劫持的情况下,将⑶N服务器作为移动终端的代理服务器;访问单元,用于在接收到移动终端上的应用发起访问目标网站的访问请求时,通过代理服务器解析出对应于访问请求中域名信息的第一IP地址,其中,移动终端通过第一IP地址访问目标网站。
[0013]进一步地,该装置还包括:获取单元,用于在按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持之前,在移动终端上的应用启动时,获取为移动终端提供域名解析服务的DNS服务器的域名劫持率;告警单元,用于在DNS服务器的域名劫持率超过预设值的情况下,发送告警邮件至移动终端上应用的通信邮箱。
[0014]进一步地,获取单元包括:第一获取模块,用于获取DNS服务器在预设时间段内解析的多个域名和解析多个域名中的每个域名得到的第六IP地址;第二获取模块,用于获取CDN服务器解析多个域名中的每个域名得到的第七IP地址;确定模块,用于基于DNS服务器解析得到的多个第六IP地址和⑶N服务器解析得到的多个第七IP地址确定DNS服务器的域名劫持率,其中,在DNS服务器解析多个域名中任一域名得到的第六IP地址与CDN服务器解析任一域名得到的第七IP地址不相同的情况下,则确定任一域名被DNS服务器劫持,劫持率为多个域名中被劫持的域名数量与多个域名的域名数量的比值。
[0015]在本发明实施例中,按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持,移动终端通过鉴权服务器与数据中心的CDN服务器连接;在判断出鉴权服务器的域名未被劫持的情况下,判断CDN服务器的域名是否被劫持;在判断出CDN服务器的域名未被劫持的情况下,将CDN服务器作为移动终端的代理服务器;在接收到移动终端上的应用发起访问目标网站的访问请求时,通过代理服务器解析出对应于访问请求中域名信息的第一 IP地址,移动终端通过第一 IP地址访问目标网站,从而解决了相关技术中由于DNS服务器造成的移动终端不能访问目标网站的技术问题,实现了对目标网站的正确访问的技术效果O
【附图说明】
[0016]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0017]图1是根据本发明实施例的移动终端的网络访问方法的流程图;
[0018]图2是根据本发明实施例的一个可选的移动终端的网络访问方法的流程图;
[0019]图3是根据本发明实施例的进行邮件告警的流程图;以及
[0020]图4是根据本发明实施例的移动终端的网络访问装置的示意图。
【具体实施方式】
[0021]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0022]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0023]首先,在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
[0024]Q)N:全称是Content Delivery Network,即内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率,CDN的关键技术主要有内容存储和分发技术。
[0025]软件开发工具包:英文全称为Software Development Kit,即SDK,一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
[0026]域名劫持:是互联网攻击的一种方式,通过攻击域名解析服务器,或伪造域名解析服务器的方法,把目标网站域名解析到错误的地址,从而实现用户无法访问目标网站的目的。
[0027]根据本发明实施例,提供了一种移动终端的网络访问方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0028]图1是根据本发明实施例的移动终端的网络访问方法的流程图,如图1所示,该方法包括如下步骤:
[0029]步骤SlOl,按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持,移动终端通过鉴权服务器与数据中心的CDN服务器连接。
[0030]上述的出现域名劫持的原因可能为DNS服务器被攻击、DNS服务器出现故障、DNS服务器中的信息被运营商修改等;移动终端包括手机、平板、笔记本、PDA等互联网移动终端,上述的方法主要用于手机上,下面以手机为例进行说明。
[0031]在数据中心保存正常访问情况下的网站域名与网站IP的映射信息,在手机上的应用启动时,对当前地区及网络下DNS服务器的DNS解析情况进行探测,将探测结果上报数据中心对比处理,如果DNS解析得到的结果与数据中心保存的映射信息不符合,则标记为出现域名劫持情况。
[0032]步骤S102,在判断出鉴权服务器的域名未被劫持的情况下,判断⑶N服务器的域名是否被劫持。
[0033]步骤S103,在判断出⑶N服务器的域名未被劫持的情况下,将⑶N服务器作为移动终端的代理服务器。
[0034]步骤S104,在接收到移动终端上的应用发起访问目标网站的访问请求时,通过代理服务器解析出对应于访问请求中域名信息的第一IP地址,其中,移动终端通过第一IP地址访问目标网站。
[0035]通过数据中心的调度,移动终端上的应用发起的访问请求被直接送至代理服务器,代理服务器在回源过程中跳过DNS解析步骤,而直接从其配置文件中读取对应于访问请求中域名信息的结果IP(即第一 IP地址),并通过该IP地址与目标网站进行通信,以防止域名劫持。
[0036]通过上述实施例,按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持,移动终端通过鉴权服务器与数据中心的CDN服务器连接;在判断出鉴权服务器的域名未被劫持的情况下,判断CDN服务器的域名是否被劫持;在判断出CDN服务器的域名未被劫持的情况下,将⑶N服务器作为移动终端的代理服务器;在接收到移动终端上的应用发起访问目标网站的访问请求时,通过代理服务器解析出对应于访问请求中域名信息的第一 IP地址,移动终端通过第一 IP地址访问目标网站,从而解决了相关技术中由于DNS服务器造成的移动终端不能访问目标网站的技术问题,实现了对目标网站的正确访问的技术效果O
[0037]需要说明的是,在DNS服务器出现域名劫持的情况下,可以在手机上使用上述的方法进行上网,如将上述的方法以代码的形式植入软件,并生成相关的选项,在软件启动时,应用开发商可以在选项中选择是否启动软件的防劫持功能。
[0038]下面结合图2详述本申请的实施例,如图2所示:
[0039]步骤S201,应用向数据中心发起鉴权请求,手机上的移动应用发起鉴权请求,该鉴权请求用于验证鉴权服务器的域名和IP地址的合法性,数据中心下发SDK代理的配置信息(如中间代理服务器的IP地址),手机通过下发的IP地址连接至中间代理服务器(即上述的CDN服务器),以对鉴权服务器的域名做解析。
[0040]步骤S202,判断鉴权域名是否被劫持,鉴权域名即鉴权服务器的域名,数据中心和手机上的软件可以根据⑶N服务器解析得到的IP地址和DNS服务器得到的IP地址判断鉴权域名是否被劫持,若二者不同,即鉴权域名被劫持,则执行步骤S203,若二者相同,即鉴权IP未被劫持,则执行步骤S206。
[0041]在上述实施例中,判断鉴权服务器的域名是否被劫持可以通过如下方式实现:获取DNS服务器解析鉴权服务器的域名得到的第二 IP地址;读取预设文件中对应于鉴权服务器的域名的第三IP地址;判断第二IP地址与第三IP地址是否相同,其中,在判断出第二IP地址与第三IP地址相同的情况下,确定鉴权服务器的域名未被劫持。
[0042]上述的预设文件可以保存在移动终端本地的文件(如手机的SDK)中。
[0043]可选地,在判断第二 IP地址与第三IP地址是否相同之后,在判断出第二 IP地址与第三IP地址不相同的情况下,则控制移动终端通过预设IP地址与鉴权服务器通信,其中,预设IP地址保存在移动终端上(如保存在SDK自带的文件中)。需要说明的是,预设IP地址包括SDK内置的鉴权IP和保存在本地的应用上次访问时使用的IP,下面结合图2详述本申请的实施例,如图2所示:
[0044]步骤S203,判断应用是否为首次启动,若手机上的应用是首次启动,则执行步骤S204,否则执行步骤S205。
[0045]步骤S204,使用SDK内置的鉴权IP地址通信,即软件内预存有鉴权服务器的IP地址,首次启动时可以直接使用鉴权IP与鉴权服务器通信。
[0046]步骤S205,使用上次访问的IP地址通信,由于软件每次启动均会对鉴权域名进行检测,即上一次使用的IP地址是正确的IP地址,因此,若不是首次启动,可以直接使用保存的上次使用的鉴权服务器的IP地址。
[0047]可选地,判断⑶N服务器的域名是否被劫持可以通过如下方式实现:获取DNS服务器解析CDN服务器的域名得到的第四IP地址;读取预设文件中对应于CDN服务器的域名的第五IP地址(如保存在SDK自带的文件中);判断第四IP地址与第五IP地址是否相同,其中,在判断出第四IP地址与第五IP地址相同的情况下,确定⑶N服务器的域名未被劫持。
[0048]可选地,在判断第四IP地址与第五IP地址是否相同之后,在判断出第四IP地址与第五IP地址不相同的情况下,则发送备用IP地址至移动终端,移动终端通过备用IP地址与⑶N服务器通信。进一步的步骤是,应用本身无需进行DNS解析,请求由SDK代理,通过备用IP分发至⑶N服务器,以进行通信。⑶N服务器进一步解析请求域名,通过预置于⑶N服务器的配置文件,匹配对应域名,找到对应域名源站地址。此时,对应域名同样无需进行DNS解析,由预置的对应配置文件中读取源站地址进行通信。
[0049]下面结合图2详述本申请的实施例,如图2所示:
[0050]步骤S206,判断中间服务器的域名是否被劫持,在从数据中心通信取回配置信息后,会触发中间服务器(即CDN服务器)选择域名作为与移动终端通信使用的域名,为了顺利实现移动终端与CDN服务器的通信,需要使用上述的方式对CDN服务器的域名进行检测,若发现CDN服务器的域名被劫持,则执行步骤S207,否则执行步骤S208。另外,还需要将CDN月艮务器设置为手机应用(即移动终端上发起网络访问请求的应用)的代理服务器。
[0051]步骤S207,使用数据中心下发的备用IP地址作为中间服务器IP地址,在⑶N服务器的域名被劫持的情况下,数据中心下发⑶N服务器的备用IP地址至手机端。
[0052]可选地,在将数据中心的⑶N服务器作为手机应用的代理服务器之后,手机端SDK的本地代理将接收移动终端上的应用发起的访问请求,并将其分发至CDN服务器,由CDN月艮务器进行回源等操作。
[0053]步骤S208,获取中间服务器IP地址,将应用请求发送至中间代理服务器,在手机需要上网时,可以将访问请求发送至⑶N服务器。
[0054]具体地,手机上的应用无需对自身域名进行域名解析,可经过SDK将请求分发至本地IP地址(如127.0.0.1)及SDK设置的私有端口做代理,由SDK负责应用请求的通信目标选择,SDK将获取的⑶N服务器地址,作为目标IP地址,直接将请求发送至⑶N服务器做代理。
[0055]步骤S209,中间服务器获取用户请求的域名信息,查找对应配置文件。
[0056]使用防劫持功能的应用,会在中间服务器上形成对应的配置文件,内容包括正确的源站IP地址和域名的对应关系,访问请求经过中间代理服务器后,中间服务器直接读取对应配置文件并获取目标网站的IP地址,不再对应用本身域名做DNS解析。
[0057]步骤S210,从配置文件中读取正确的源站IP地址(即第一 IP地址),跳过DNS服务器直接与目标源站(即目标网站)IP进行通信。
[0058]若手机上的应用启用了防劫持功能,则会在客户机程序启动时向数据中心发起鉴权请求,以获得配置信息并对该鉴权请求域名做劫持检测,若检测结果显示鉴权域名未被劫持,则使用鉴权请求解析的IP进行通信,并取回对应配置信息,然后对中间服务器的域名做劫持检测,若检测结果显示中间服务器的域名并未被劫持,则使用中间服务器的域名解析出来的IP(如“111.8.9.213”)作为中间代理服务器的通信IP,这样,即可将对目标网站uwww.wl01test.com”的请求正常代理到IP “111.8.9.213”,可从服务器配置文件中读取目标网站的IP,直接访问该IP获取资源。
[0059]通过上述实施例,无需改变源服务器中的代码结构和业务逻辑,可以通过报表的形式形象具体的展示全国范围内各个运营商的DNS劫持发生的情况,并可以灵活的设置告警阈值,对于触发告警阈值的地区运营商网络以邮件的形式进行告警,方便应用开发商及时掌握劫持动态以便采取相应措施。
[0060]可选地,在按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持之前,在移动终端上的应用启动时,获取为移动终端提供域名解析服务的DNS服务器的域名劫持率;在DNS服务器的域名劫持率超过预设值的情况下,发送告警邮件至移动终端上应用的通信邮箱。
[0061 ]具体地,获取为移动终端提供域名解析服务的DNS服务器的域名劫持率包括:获取DNS服务器在预设时间段内解析的多个域名和解析多个域名中的每个域名得到的第六IP地址;获取CDN服务器解析多个域名中的每个域名得到的第七IP地址;基于DNS服务器解析得到的多个第六IP地址和CDN服务器解析得到的多个第七IP地址确定DNS服务器的域名劫持率,其中,在DNS服务器解析多个域名中任一域名得到的第六IP地址与⑶N服务器解析任一域名得到的第七IP地址不相同的情况下,则确定任一域名被DNS服务器劫持,劫持率为多个域名中被劫持的域名数量与多个域名的域名数量的比值。下面结合图3详述本实施例,如图3所示:
[0062]步骤S301,数据中心记录正常DNS解析结果,即在正常访问情况下的网站域名与网站IP的映射信息。
[0063]步骤S302,对监控域名发起智能DNS解析探测,即对当前地区及网络下DNS服务器的DNS解析情况进行探测。
[0064]步骤S303,将探测结果(包括DNS服务器解析的多个域名和对应的第六IP地址)反馈到数据中心进行汇总并分析,将探测结果上报数据中心对比处理。
[0065]步骤S304,判断是否存在DNS劫持情况,如果DNS解析得到的结果与数据中心保存的映射信息(包括多个域名和域名对应的第七IP地址)不符合,则标记为出现域名劫持的情况。如果存在域名劫持的情况则执行步骤S305,否则结束检测,确定DNS服务器不存在域名劫持的情况,手机等设备可使用DNS服务解析的到的IP地址。
[0066]步骤S305,判断是否触发告警阈值(即上述的预设值),根据所有探测的对比结果确定该地区的DNS服务器的域名劫持率,在域名劫持率超过预设值(如10%、15%、30%、50 %等)的情况下,则执行步骤S306,否则结束检测。
[0067]步骤S306,以邮件的形式推送劫持告警。
[0068]即在基于DNS服务器解析得到的多个第二IP地址和⑶N服务器解析得到的多个第三IP地址确定DNS服务器的域名劫持率之后,还可以在DNS服务器的域名劫持率超过预设值的情况下,发送告警邮件至移动终端上的应用的通信邮箱。
[0069]具体地,源服务器中的代码结构和业务逻辑无需做任何改变,在数据中心将以报表的形式形象具体的展示全国范围内各个运营商DNS服务器的域名劫持发生的情况,并可以灵活的设置告警阈值(即上述预设值),对于触发告警阈值的地区运营商网络以邮件的形式进行告警,方便应用开发商及时掌握劫持动态以便采取相应措施。
[0070]例如,对于网站域名“www.wlOltest.com”,数据中心后台登记其正确的IP为“219.137.192.66”,并设置了劫持告警的阈值(如10%),当客户机程序启动时,客户端从数据中心拉取到需要探测的域名信息,并向DNS服务器发起DNS探测,并将探测结果返回到数据中心做汇总和统计分析,若探测结果显示解析异常(如DNS服务器解析得到的IP为“210.21.33.19”),则计算该地区该运营商的DNS服务器的域名劫持比例是否超过预设值(如10% ),若统计结果显示该地区运营商的劫持比例超过阈值则以邮件的形式对客户进行告警,告警内容包括应用名、应用包名、检测域名(即“www.wlOltest.com”)、地区(如山西)、运营商(如联通)、时间(如 “2015-10-22 10:20”)、疑似恶意的IP(SP “210.21.33.19”)。
[0071]通过上述实施例,解决了现有技术中缺乏有效手段来监控运营商劫持情况的问题,在DNS解析阶段加入对解析结果的监控,智能判断劫持发生的情况,并汇总,当劫持程度触发告警阈值时可通过邮件形式发出告警。
[0072]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0073]本发明实施例还提供了一种移动终端的网络访问装置。需要说明的是,本发明实施例的移动终端的网络访问装置可以用于执行本发明实施例所提供的移动终端的网络访问方法,本发明实施例的移动终端的网络访问方法也可以通过本发明实施例所提供的移动终端的网络访问装置来执行。
[0074]图4是根据本发明实施例的移动终端的网络访问装置的示意图。如图4所示,该装置可以包括第一判断单元10、第二判断单元20、处理单元30以及访问单元40。
[0075]第一判断单元10用于按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持,移动终端通过鉴权服务器与数据中心的CDN服务器连接。
[0076]上述的移动终端包括手机、平板、笔记本、PDA等互联网移动终端,上述方法主要用于手机上,下面以手机为例进行说明。
[0077]通过数据中心保存正常访问情况下的网站域名与网站IP的映射信息,在手机上的应用启动时,对当前地区及网络下DNS服务器的DNS解析情况进行探测,将探测结果上报数据中心对比处理,如果DNS解析得到的结果与数据中心保存的映射信息不符合,则标记为出现域名劫持情况。
[0078]上述的出现域名劫持的原因可能为DNS服务器被攻击、DNS服务器出现故障、DNS服务器中的信息被运营商修改等。
[0079]第二判断单元20用于在判断出鉴权服务器的域名未被劫持的情况下,判断⑶N月艮务器的域名是否被劫持。
[0080]处理单元30用于在判断出⑶N服务器的域名未被劫持的情况下,将⑶N服务器作为移动终端的代理服务器。
[0081]访问单元40用于在接收到移动终端上的应用发起访问目标网站的访问请求时,通过代理服务器解析出对应于访问请求中域名信息的第一IP地址,其中,移动终端通过第一IP地址访问目标网站。
[0082]通过数据中心的调度,移动终端上的应用发起的访问请求被直接送至代理服务器,代理服务器在回源过程中跳过DNS解析步骤,而直接从其配置文件中读取对应于访问请求中域名信息的结果IP(即第一 IP地址),并通过该IP地址与目标网站进行通信,以防止域名劫持。
[0083]通过上述实施例,第一判断单元按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持,移动终端通过鉴权服务器与数据中心的CDN服务器连接;第二判断单元在判断出鉴权服务器的域名未被劫持的情况下,判断⑶N服务器的域名是否被劫持;处理单元在判断出⑶N服务器的域名未被劫持的情况下,将⑶N服务器作为移动终端的代理服务器;访问单元在接收到移动终端上的应用发起访问目标网站的访问请求时,通过代理服务器解析出对应于访问请求中域名信息的第一IP地址,其中,移动终端通过第一IP地址访问目标网站,从而解决了相关技术中由于DNS服务器造成的移动终端不能访问目标网站的技术问题,实现了对目标网站的正确访问的技术效果。
[0084]在上述实施例中,该装置还可以包括:获取单元,用于在按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持之前,在移动终端上的应用启动时,获取为移动终端提供域名解析服务的DNS服务器的域名劫持率;告警单元,用于在DNS服务器的域名劫持率超过预设值的情况下,发送告警邮件至移动终端上应用的通信邮箱。
[0085]可选地,获取单元可以包括:第一获取模块,用于获取DNS服务器在预设时间段内解析的多个域名和解析多个域名中的每个域名得到的第六IP地址;第二获取模块,用于获取CDN服务器解析多个域名中的每个域名得到的第七IP地址;确定模块,用于基于DNS服务器解析得到的多个第六IP地址和CDN服务器解析得到的多个第七IP地址确定DNS服务器的域名劫持率,其中,在DNS服务器解析多个域名中任一域名得到的第六IP地址与CDN服务器解析任一域名得到的第七IP地址不相同的情况下,则确定任一域名被DNS服务器劫持,劫持率为多个域名中被劫持的域名数量与多个域名的域名数量的比值。
[0086]具体地,源服务器中的代码结构和业务逻辑无需做任何改变,在数据中心将以报表的形式形象具体的展示全国范围内各个运营商DNS服务器的域名劫持发生的情况,并可以灵活的设置告警阈值(即上述预设值),对于触发告警阈值的地区运营商网络以邮件的形式进行告警,方便应用开发商及时掌握劫持动态以便采取相应措施。
[0087]通过上述实施例,解决了现有技术中缺乏有效手段来监控运营商劫持情况的问题,在DNS解析阶段加入对解析结果的监控,智能判断劫持发生的情况,并汇总,当劫持程度触发告警阈值时可通过邮件形式发出告警。
[0088]本实施例中所提供的各个模块与方法实施例对应步骤所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例中的内容和场景,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
[0089]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0090]在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0091]在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0092]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0093]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(R0M,Read-0nly Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0094]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1.一种移动终端的网络访问方法,其特征在于,包括: 按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持,其中,所述移动终端通过所述鉴权服务器与数据中心的CDN服务器连接; 在判断出所述鉴权服务器的域名未被劫持的情况下,判断所述CDN服务器的域名是否被劫持; 在判断出所述CDN服务器的域名未被劫持的情况下,将所述CDN服务器作为所述移动终端的代理服务器; 在接收到所述移动终端上的应用发起访问目标网站的访问请求时,通过所述代理服务器解析出对应于所述访问请求中域名信息的第一IP地址,其中,所述移动终端通过所述第一IP地址访问所述目标网站。2.根据权利要求1所述的方法,其特征在于,判断鉴权服务器的域名是否被劫持包括: 获取DNS服务器解析所述鉴权服务器的域名得到的第二 IP地址; 读取预设文件中对应于所述鉴权服务器的域名的第三IP地址; 判断所述第二IP地址与所述第三IP地址是否相同,其中,在判断出所述第二IP地址与所述第三IP地址相同的情况下,确定所述鉴权服务器的域名未被劫持。3.根据权利要求2所述的方法,其特征在于,在判断所述第二IP地址与所述第三IP地址是否相同之后,所述方法还包括: 在判断出所述第二 IP地址与所述第三IP地址不相同的情况下,则控制所述移动终端通过预设IP地址与所述鉴权服务器通信,其中,所述预设IP地址保存在所述移动终端上。4.根据权利要求2所述的方法,其特征在于,判断所述CDN服务器的域名是否被劫持包括: 获取所述DNS服务器解析所述CDN服务器的域名得到的第四IP地址; 读取所述预设文件中对应于所述CDN服务器的域名的第五IP地址; 判断所述第四IP地址与所述第五IP地址是否相同,其中,在判断出所述第四IP地址与所述第五IP地址相同的情况下,确定所述⑶N服务器的域名未被劫持。5.根据权利要求4所述的方法,其特征在于,在判断所述第四IP地址与所述第五IP地址是否相同之后,所述方法还包括: 在判断出所述第四IP地址与所述第五IP地址不相同的情况下,则发送备用IP地址至所述移动终端,其中,所述移动终端通过所述备用IP地址与所述CDN服务器通信。6.根据权利要求1所述的方法,其特征在于,在按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持之前,所述方法还包括: 在移动终端上的应用启动时,获取为所述移动终端提供域名解析服务的DNS服务器的域名劫持率; 在所述DNS服务器的域名劫持率超过预设值的情况下,发送告警邮件至所述移动终端上应用的通信邮箱。7.根据权利要求6所述的方法,其特征在于,获取为所述移动终端提供域名解析服务的DNS服务器的域名劫持率包括: 获取所述DNS服务器在预设时间段内解析的多个域名和解析所述多个域名中的每个域名得到的第六IP地址; 获取所述⑶N服务器解析所述多个域名中的每个域名得到的第七IP地址; 基于所述DNS服务器解析得到的多个第六IP地址和所述CDN服务器解析得到的多个第七IP地址确定所述DNS服务器的域名劫持率,其中,在所述DNS服务器解析所述多个域名中任一域名得到的第六IP地址与所述⑶N服务器解析所述任一域名得到的第七IP地址不相同的情况下,则确定所述任一域名被所述DNS服务器劫持,所述劫持率为所述多个域名中被劫持的域名数量与所述多个域名的域名数量的比值。8.一种移动终端的网络访问装置,其特征在于,包括: 第一判断单元,用于按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持,其中,所述移动终端通过所述鉴权服务器与数据中心的CDN服务器连接; 第二判断单元,用于在判断出所述鉴权服务器的域名未被劫持的情况下,判断所述CDN服务器的域名是否被劫持; 处理单元,用于在判断出所述CDN服务器的域名未被劫持的情况下,将所述CDN服务器作为所述移动终端的代理服务器; 访问单元,用于在接收到所述移动终端上的应用发起访问目标网站的访问请求时,通过所述代理服务器解析出对应于所述访问请求中域名信息的第一IP地址,其中,所述移动终端通过所述第一 IP地址访问所述目标网站。9.根据权利要求8所述的装置,其特征在于,所述装置还包括: 获取单元,用于在按照移动终端上应用的鉴权请求的指示判断鉴权服务器的域名是否被劫持之前,在移动终端上的应用启动时,获取为所述移动终端提供域名解析服务的DNS月艮务器的域名劫持率; 告警单元,用于在所述DNS服务器的域名劫持率超过预设值的情况下,发送告警邮件至所述移动终端上应用的通信邮箱。10.根据权利要求9所述的装置,其特征在于,所述获取单元包括: 第一获取模块,用于获取所述DNS服务器在预设时间段内解析的多个域名和解析所述多个域名中的每个域名得到的第六IP地址; 第二获取模块,用于获取所述CDN服务器解析所述多个域名中的每个域名得到的第七IP地址; 确定模块,用于基于所述DNS服务器解析得到的多个第六IP地址和所述CDN服务器解析得到的多个第七IP地址确定所述DNS服务器的域名劫持率,其中,在所述DNS服务器解析所述多个域名中任一域名得到的第六IP地址与所述CDN服务器解析所述任一域名得到的第七IP地址不相同的情况下,则确定所述任一域名被所述DNS服务器劫持,所述劫持率为所述多个域名中被劫持的域名数量与所述多个域名的域名数量的比值。
【文档编号】H04L29/08GK105897947SQ201610218406
【公开日】2016年8月24日
【申请日】2016年4月8日
【发明人】洪珂, 何晓峰, 戴航昊, 刘令香
【申请人】网宿科技股份有限公司