一种域名校验方法、装置及系统的制作方法

文档序号:7996100阅读:83来源:国知局
一种域名校验方法、装置及系统的制作方法
【专利摘要】本发明涉及一种域名校验方法,包括以下步骤:监测域名解析服务并在域名解析服务返回之前捕获返回的消息,所述消息包括域名以及IP地址列表;获取待校验的域名列表;判断所述消息内的域名是否存在于所述域名列表中,若存在则将所述消息内包括的域名以及IP地址列表提交至校验模块进行校验;以及若接收到返回的表示校验成功的信息则继续返回所述消息。本发明还提供一种域名校验装置和系统。利用本发明可以对经域名解析服务得到的IP地址列表的正确性进行校验。
【专利说明】一种域名校验方法、装置及系统
【技术领域】
[0001]本发明涉及网络通信领域,特别涉及一种域名校验方法、装置及系统。
【背景技术】
[0002]网络服务提供商通常会向用户公布其提供网络服务的域名。用户可以通过域名系统(Domain Name System, DNS)的域名解析服务获取域名对应服务器的IP地址列表,然后向该服务器请求服务。如果本地的hosts文件中配置有域名对应的IP地址列表时,也可以直接读取本地hosts文件来获取域名对应服务器的IP地址列表。然而,若域名服务器被攻击后植入错误的解析信息,使得域名系统被篡改,或者hosts文件被篡改,则用户输入域名后将得到错误的IP地址列表,在访问服务器时会存在安全风险。

【发明内容】

[0003]有鉴于此,有必要提供一种域名校验方法、装置及系统,可以对经域名解析服务得到的IP地址列表的正确性进行校验,当得到的IP地址列表有误时,提示用户存在安全风险,并更新该IP地址列表至正确值。
[0004]一种域名校验方法,包括以下步骤:监测域名解析服务并在域名解析服务返回之前捕获返回的消息,所述消息包括域名以及IP地址列表;获取待校验的域名列表;判断所述消息内的域名是否存在于所述域名列表中,若存在则将所述消息内包括的域名以及IP地址列表提交至校验模块进行校验;以及若接收到返回的表示校验成功的信息则继续返回所述消息。
[0005]一种域名校验装置,包括:捕获模块,用于监测域名解析服务并在域名解析服务返回之前捕获返回的消息,所述消息包括域名以及IP地址列表;获取模块,用于获取待校验的域名列表;校验请求模块,用于判断所述消息内的域名是否存在于所述域名列表中,若存在则将所述消息内包括的域名以及IP地址列表提交至校验模块进行校验;以及校验结果处理模块,用于若接收到返回的表示校验成功的信息则继续返回所述消息。
[0006]一种域名校验系统,包括:客户端模块以及校验模块;所述客户端模块包括:捕获单元,用于监测域名解析服务并在域名解析服务返回之前捕获返回的消息,所述消息包括域名以及IP地址列表;第一获取单元,用于获取待校验的域名列表;校验请求单元,用于判断所述消息内的域名是否存在于所述域名列表中,若存在则将所述消息内包括的域名以及IP地址列表提交至所述校验模块进行校验;以及校验结果处理单元,用于若接收到返回的表示校验成功的信息则继续返回所述消息;所述校验模块,用于接收所述校验请求单元提交的域名与IP地址列表,进行校验并返回校验结果信息至所述校验结果处理单元。
[0007]相对于现有技术,本发明的有益效果是:本发明可以对经域名解析服务得到的IP地址列表的正确性进行校验,当得到的IP地址列表有误时,提示用户存在安全风险,并更新该IP地址列表至正确值。
[0008]为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
【专利附图】

【附图说明】
[0009]图1为本发明实施例提供的域名校验方法的流程图。
[0010]图2为校验模块的校验流程图。
[0011]图3为本发明实施例提供的域名校验装置的框图。
[0012]图4为本发明实施例提供的域名校验系统的模块图。
[0013]图5为实现域名校验的示例图。
【具体实施方式】
[0014]为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的【具体实施方式】、结构、特征及其功效,详细说明如后。
[0015]参阅图1所示,本发明实施例提供一种域名校验方法,应用于客户端中,其包括以下步骤:
[0016]步骤SI,监测域名解析服务并在域名解析服务返回之前捕获返回的消息,所述消息包括域名以及IP地址列表;
[0017]步骤S2,获取待校验的域名列表;
[0018]步骤S3,判断所述消息内的域名是否存在于所述域名列表中,若存在则将所述消息内包括的域名以及IP地址列表提交至校验模块进行校验;
[0019]步骤S4,若接收到返回的表示校验成功的信息则继续返回所述消息。
[0020]以下结合具体实例作进一步详细说明:
[0021]步骤SI所述的域名解析服务可以通过操作系统提供的API (ApplicationProgramming Interface,应用程序编程接口)函数实现。例如,通过Windows操作系统提供的gethostbyname函数向域名服务器请求解析域名,并获取返回的IP地址列表。若Windows操作系统中的hosts文件包含该域名与IP地址列表的映射关系,则所述的域名解析服务也可以通过查询该hosts文件实现。所述消息包括域名解析服务返回的域名以及IP地址列表。
[0022]步骤S2所述的待校验的域名列表中的每一个域名经域名解析服务后,都需要校验其返回的IP地址列表的正确性。所述的域名列表可以由特定的网络服务提供商提供。所述的网络服务提供商将其提供服务的所有域名汇总在一个文件(例如文本文件)中。当所述客户端请求下载所述的域名列表时,所述网络服务提供商将该文件下发给所述客户端。为了能够快速查询所述域名列表,在获取待校验的域名列表后,还可以以域名为关键字建立第一哈希表,用于记录该域名列表中的各个域名。
[0023]步骤S3中,通过判断所述第一哈希表中是否存在与所述消息内的域名对应的表项来判断该域名是否存在于所述域名列表中。若所述第一哈希表中存在与该域名对应的表项,说明该域名存在于所述域名列表中,则将所述消息内包括的域名以及IP地址列表提交至校验模块进行校验。
[0024]所述校验模块可以嵌入在所述客户端中,也可以与所述客户端运行于不同的终端内。例如所述客户端运行于用户计算机中,而所述校验模块运行于服务器中。[0025]参阅图2所示,所述校验模块的校验过程具体包括以下步骤:
[0026]步骤S11,获取所述域名列表中每个域名对应的IP地址列表。该域名列表中每个域名对应的IP地址列表也由所述网络服务提供商提供,因此每个域名都对应到正确的IP地址列表。为了能够快速查询到每个域名对应的IP地址列表,也可以在获取所述域名列表中每个域名对应的IP地址列表后,以域名和对应的IP地址为关键字建立第二哈希表,用于记录该域名列表中各个域名对应的IP地址。
[0027]步骤S12,接收所提交的域名以及IP地址列表,并判断所接收的IP地址列表中的每个IP地址是否都存在于该域名对应的IP地址列表中。具体而言,判断所接收的域名和IP地址列表中的每个IP地址在所述第二哈希表中是否都存在对应的表项。若所接收的域名和IP地址列表中的每个IP地址在第二哈希表中都存在对应的表项,则说明所接收的IP地址列表中的每个IP地址都存在于该域名对应的IP地址列表中。否则说明所接收的IP地址列表中的每个IP地址不都存在于该域名对应的IP地址列表中。
[0028]步骤S13,若所接收的IP地址列表中的每个IP地址都存在于该域名对应的IP地址列表中,则返回表示校验成功的信息。若所接收的IP地址列表中的每个IP地址不都存在于该域名对应的IP地址列表中,则返回表示校验失败的信息。此外,在返回表示校验失败的信息时,还可以返回该域名对应的IP地址列表。
[0029]继续参阅图1,步骤S4中,若接收到校验模块返回的表示校验成功的信息,则继续返回所述消息。若接收到返回的表示校验失败的信息,则根据校验模块返回的所述消息内的域名对应的IP地址列表更新所述消息内的IP地址列表至正确值后继续返回所述消息,或直接显示提示信息,提示用户所述消息内的IP地址列表有误,但不返回所述消息。
[0030]参阅图3所示,本发明实施例还提供一种域名校验装置100,运行于客户端中。所述域名校验装置100包括捕获模块101、获取模块102、校验请求模块103和校验结果处理模块104。可以理解,上述的各模块是指计算机程序或者程序段,用于执行某一项或多项特定的功能。此外,上述各模块的区分并不代表实际的程序代码也必须是分开的。
[0031]捕获模块101,用于监测域名解析服务并在域名解析服务返回之前捕获返回的消息,所述消息包括域名以及IP地址列表;
[0032]获取模块102,用于获取待校验的域名列表;
[0033]校验请求模块103,用于判断所述消息内的域名是否存在于所述域名列表中,若存在则将所述消息内包括的域名以及IP地址列表提交至校验模块进行校验;以及
[0034]校验结果处理模块104,用于若接收到返回的表示校验成功的信息则继续返回所述消息。若接收到返回的表示校验失败的信息,则所述校验结果处理模块104还用于更新所述消息内的IP地址列表至正确值后继续返回所述消息。
[0035]此外,所述域名校验装置100还可以包括列表建立模块105和提示模块106。
[0036]所述列表建立模块105用于在获取待校验的域名列表后以域名为关键字建立第一哈希表,所述校验请求模块103则用于判断所述第一哈希表中是否存在与所述消息内的域名对应的表项。
[0037]所述提示模块106用于若接收到返回的表示校验失败的信息则显示提示信息,提示所述消息内的IP地址列表有误。
[0038]对于以上各模块的具体工作过程,可进一步参考本发明实施例提供的域名校验方法,在此不再重复。
[0039]参阅图4所示,本发明实施例还提供一种域名校验系统10,包括客户端模块20和校验模块30。所述客户端模块20和校验模块30可以运行于同一终端内,例如都运行在用户计算机中,也可以运行于不同的终端内,例如客户端模块20运行于用户计算机中,校验模块30运行于服务器中。
[0040]所述客户端模块20包括:
[0041]捕获单元201,用于监测域名解析服务并在域名解析服务返回之前捕获返回的消息,所述消息包括域名以及IP地址列表;
[0042]第一获取单元202,用于获取待校验的域名列表;
[0043]校验请求单元203,用于判断所述消息内的域名是否存在于所述域名列表中,若存在则将所述消息内包括的域名以及IP地址列表提交至所述校验模块30进行校验;
[0044]校验结果处理单元204,用于若接收到返回的表示校验成功的信息则继续返回所述消息。
[0045]为了能够快速查询所述域名列表,所述客户端模块20还可以包括第一列表建立单元205,用于在获取待校验的域名列表后以域名为关键字建立第一哈希表。
[0046]所述校验请求单元203则通过判断所述第一哈希表中是否存在与所述消息内的域名对应的表项,来判断所述消息内的域名是否存在于所述域名列表中。
[0047]所述校验模块30用于接收所述校验请求单元203提交的域名与IP地址列表,进行校验并返回校验结果信息至所述校验结果处理单元204。具体而言,校验模块30包括:
[0048]第二获取单元301,用于获取所述的域名列表中每个域名对应的IP地址列表;
[0049]校验单元302,用于接收所述校验请求单元203提交的域名以及IP地址列表,并判断所接收的IP地址列表中的每个IP地址是否都存在于该域名对应的IP地址列表中;
[0050]校验结果返回单元303,用于若所接收的IP地址列表中的每个IP地址都存在于该域名对应的IP地址列表中,则返回表示校验成功的信息至所述校验结果处理单元204。
[0051]为了能够快速查询到每个域名对应的IP地址列表,所述校验模块30还可以包括第二列表建立单元304,用于在获取所述的域名列表中每个域名对应的IP地址列表后,以域名和对应的IP地址为关键字建立第二哈希表。
[0052]所述校验单元303则通过判断所接收的域名和IP地址列表中的每个IP地址在所述第二哈希表中是否都存在对应的表项,来判断所接收的IP地址列表中的每个IP地址是否都存在于该域名对应的IP地址列表中。
[0053]此外,若所接收到的IP地址列表中的每个IP地址不都存在于该域名对应的IP地址列表中,则校验结果返回单元303返回表示校验失败的信息至所述校验结果处理单元204。在返回表示校验失败的信息时,所述校验结果返回单元303还可以返回该域名对应的IP地址列表至所述校验结果处理单元204。
[0054]所述客户端模块20还包括提示模块206,用于若接收到返回的表示校验失败的信息则显示提示信息,提示所述消息内的IP地址列表有误,但不返回所述消息。
[0055]或者,所述客户端模块20的校验结果处理单元204还用于若接收到返回的表示校验失败的信息,则根据校验模块30返回的所述消息内的域名对应的IP地址列表更新所述消息内的IP地址列表至正确值后继续返回所述消息。[0056]参阅图5所示,实现域名校验的一个流程示意图。在图5中,所述客户端模块20运行于用户计算机中,所述校验模块30运行于校验服务器中。根据图5中箭头的走向及数字编号,将实现域名校验的流程进一步描述如下:
[0057]1.网络服务提供商向校验信息服务器下发待校验的域名列表,以及向校验服务器下发所述域名列表中每个域名对应的IP地址列表。
[0058]2.所述校验信息服务器向客户端模块20转发所述域名列表。
[0059]3.通过操作系统中的gethostbyname函数请求域名解析服务,并捕获返回的消息,所述消息域名以及IP地址列表。
[0060]4.判断所述消息内的域名和IP地址列表是否需要校验。
[0061]5.如果所述消息内的域名和IP地址列表需要校验,则请求校验服务器校验。
[0062]6.接收校验服务器返回的校验结果信息。
[0063]7.若校验服务器返回的校验结果信息表示校验失败,则弹出窗口提示用户。
[0064]此外,本发明实施例还提供一种计算机可读存储介质,其内存储有计算机可执行指令,上述的计算机可读存储介质例如为非易失性存储器例如光盘、硬盘、或者闪存。上述的计算机可执行指令用于让计算机或者类似的运算装置完成上述的域名校验方法中的各种操作。
[0065]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,任何本领域技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【权利要求】
1.一种域名校验方法,其特征在于,该方法包括以下步骤: 监测域名解析服务并在域名解析服务返回之前捕获返回的消息,所述消息包括域名以及IP地址列表; 获取待校验的域名列表; 判断所述消息内的域名是否存在于所述域名列表中,若存在则将所述消息内包括的域名以及IP地址列表提交至校验模 块进行校验;以及 若接收到返回的表示校验成功的信息则继续返回所述消息。
2.如权利要求1所述的域名校验方法,其特征在于,还包括: 若接收到返回的表示校验失败的信息则更新所述消息内的IP地址列表至正确值后继续返回所述消息。
3.如权利要求2所述的域名校验方法,其特征在于,若接收到返回的表示校验失败的信息还包括: 显示提示信息,提示所述消息内的IP地址列表有误。
4.如权利要求1所述的域名校验方法,其特征在于,在获取待校验的域名列表后还包括:以域名为关键字建立第一哈希表; 判断所述消息内的域名是否存在于所述域名列表中包括:判断所述第一哈希表中是否存在与所述消息内的域名对应的表项。
5.一种域名校验装置,其特征在于,该装置包括: 捕获模块,用于监测域名解析服务并在域名解析服务返回之前捕获返回的消息,所述消息包括域名以及IP地址列表; 获取模块,用于获取待校验的域名列表; 校验请求模块,用于判断所述消息内的域名是否存在于所述域名列表中,若存在则将所述消息内包括的域名以及IP地址列表提交至校验模块进行校验;以及 校验结果处理模块,用于若接收到返回的表示校验成功的信息则继续返回所述消息。
6.如权利要求5所述的域名校验装置,其特征在于,所述校验结果处理模块还用于: 若接收到返回的表示校验失败的信息则更新所述消息内的IP地址列表至正确值后继续返回所述消息。
7.如权利要求6所述的域名校验装置,其特征在于,还包括提示模块,用于若接收到返回的表示校验失败的信息则显示提示信息,提示所述消息内的IP地址列表有误。
8.如权利要求5所述的域名校验装置,其特征在于,还包括列表建立模块,用于在获取待校验的域名列表后以域名为关键字建立第一哈希表; 所述校验请求模块用于:判断所述第一哈希表中是否存在与所述消息内的域名对应的表项。
9.一种域名校验系统,其特征在于,该系统包括: 客户端模块以及校验模块; 所述客户端模块包括: 捕获单元,用于监测域名解析服务并在域名解析服务返回之前捕获返回的消息,所述消息包括域名以及IP地址列表; 第一获取单元,用于获取待校验的域名列表;校验请求单元,用于判断所述消息内的域名是否存在于所述域名列表中,若存在则将所述消息内包括的域名以及IP地址列表提交至所述校验模块进行校验;以及 校验结果处理单元,用于若接收到返回的表示校验成功的信息则继续返回所述消息;所述校验模块,用于接收所述校验请求单元提交的域名与IP地址列表,进行校验并返回校验结果信息至所述校验结果处理单元。
10.如权利要求9所述的域名校验系统,其特征在于,所述校验结果处理单元,还用于: 若接收到返回的表示校验失败的信息则更新所述消息内的IP地址列表至正确值后继续返回所述消息。
11.如权利要求10所述的域名校验系统,其特征在于,所述客户端模块还包括提示单元,用于若接收到返回的表示校验失败的信息则显示提示信息,提示所述消息内的IP地址列表有误。
12.如权利要求9所述的域名校验系统,其特征在于,所述客户端模块还包括第一列表建立单元,用于在获取待校验的域名列表后以域名为关键字建立第一哈希表; 所述校验请求 单元用于:判断所述第一哈希表中是否存在与所述消息内的域名对应的表项。
13.如权利要求9所述的域名校验系统,其特征在于,所述客户端模块与所述校验模块分别运行于不同的终端内。
14.如权利要求9所述的域名校验系统,其特征在于,所述客户端模块与所述校验模块分别运行于同一终端内。
15.如权利要求9所述的域名校验系统,其特征在于,所述的校验模块包括: 第二获取单元,用于获取所述的域名列表中每个域名对应的IP地址列表; 校验单元,用于接收所述校验请求单元提交的域名以及IP地址列表,并判断所接收的IP地址列表中的每个IP地址是否都存在于该域名对应的IP地址列表中; 校验结果返回单元,用于若所接收的IP地址列表中的每个IP地址都存在于该域名对应的IP地址列表中,则返回表示校验成功的信息至所述校验结果处理单元。
16.如权利要求15所述的域名校验系统,其特征在于,所述的校验结果返回单元还用于: 若所接收到的IP地址列表中的每个IP地址不都存在于该域名对应的IP地址列表中,则返回表示校验失败的信息至所述校验结果处理单元。
17.如权利要求16所述的域名校验系统,其特征在于,所述的校验结果返回单元还用于返回该域名对应的IP地址列表至所述校验结果处理单元。
18.如权利要求15所述的域名校验系统,其特征在于,所述的校验模块还包括第二列表建立单元,用于在获取所述的域名列表中每个域名对应的IP地址列表后,以域名和对应的IP地址为关键字建立第二哈希表; 所述的校验单元用于:判断所接收的域名和IP地址列表中的每个IP地址在所述第二哈希表中是否都存在对应的表项。
【文档编号】H04L29/06GK103973506SQ201310035204
【公开日】2014年8月6日 申请日期:2013年1月30日 优先权日:2013年1月30日
【发明者】王海波, 李旭阳 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1