根服务器正确性监测方法、装置、设备及存储介质转让专利

申请号 : CN202210721032.5

文献号 : CN114827085B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨书徒姬东岑张伟哲张宇乔延臣方滨兴

申请人 : 鹏城实验室

摘要 :

本发明属于计算机技术领域,公开了一种根服务器正确性监测方法、装置、设备及存储介质。本发明通过获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对目标顶级域名的权威解析结果;从权威解析结果中选取基准解析结果;将目标解析结果与基准解析结果进行比较,获得目标根服务器的正确性分析结果。由于会获取目标根服务器与权威服务器对同一顶级域名的DNS解析结果,将其进行比较可快速确定目标根服务器提供的DNS解析服务是否正确,且由于是将目标分析结果与选取的基准解析结果比较,而不是将目标解析结果分别与不同的权威解析结果一一进行比较,可以加快比较过程,从而快速确定目标根服务器的域名解析正确性。

权利要求 :

1.一种根服务器正确性监测方法,其特征在于,所述根服务器正确性监测方法包括以下步骤:获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果;

从所述权威解析结果中选取基准解析结果;

将所述目标解析结果与所述基准解析结果进行比较,获得所述目标根服务器的正确性分析结果;

其中,所述从所述权威解析结果中选取基准解析结果的步骤,包括:根据结果一致性对各权威解析结果进行分组,获得至少一个结果子集;

根据各结果子集中的权威集解析结果的数量确定各结果子集对应的结果数占比;

将各结果子集对应的结果数占比中的最大值作为目标结果占比;

将所述目标结果占比对应的结果子集中的权威解析结果作为基准解析结果。

2.如权利要求1所述的根服务器正确性监测方法,其特征在于,所述获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果的步骤,包括:在访问目标顶级域名时,通过预设抓包工具抓取目标网关中产生的DNS数据包;

根据解包程序对所述DNS数据包进行解析,获得解析结果;

从所述解析结果中提取目标根服务器对所述目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果。

3.如权利要求1所述的根服务器正确性监测方法,其特征在于,所述获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果的步骤,包括:从目标网关中读取流量留存文件;

对所述流量留存文件进行解析,获得文件解析结果;

从所述文件解析结果中提取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果。

4.如权利要求1所述的根服务器正确性监测方法,其特征在于,所述将所述目标结果占比对应的结果子集中的权威解析结果作为基准解析结果的步骤,包括:将所述目标结果占比与预设占比阈值进行比较;

若所述目标结果占比大于所述预设占比阈值,则将所述目标结果占比对应的结果子集中的权威解析结果作为基准解析结果。

5.如权利要求4所述的根服务器正确性监测方法,其特征在于,所述将所述目标结果占比与预设占比阈值进行比较的步骤之后,还包括:若所述目标结果占比小于或等于所述预设占比阈值,则判定所述目标顶级域名为异常域名;

重新选取目标顶级域名,并返回所述获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果的步骤。

6.如权利要求1‑5任一项所述的根服务器正确性监测方法,其特征在于,所述获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果的步骤之前,还包括:从预设顶级域名集中选取目标顶级域名;

根据所述目标顶级域名生成域名查询请求;

通过预设模拟工具分别向目标根服务器及权威根服务器发送所述域名查询请求,以进行顶级域名查询。

7.一种根服务器正确性监测装置,其特征在于,所述根服务器正确性监测装置包括以下模块:结果获取模块,用于获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果;

结果选取模块,用于从所述权威解析结果中选取基准解析结果;

正确分析模块,用于将所述目标解析结果与所述基准解析结果进行比较,获得所述目标根服务器的正确性分析结果;

所述结果选取模块,还用于根据结果一致性对各权威解析结果进行分组,获得至少一个结果子集;根据各结果子集中的权威集解析结果的数量确定各结果子集对应的结果数占比;将各结果子集对应的结果数占比中的最大值作为目标结果占比;将所述目标结果占比对应的结果子集中的权威解析结果作为基准解析结果。

8.一种根服务器正确性监测设备,其特征在于,所述根服务器正确性监测设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的根服务器正确性监测程序,所述根服务器正确性监测程序被处理器执行时实现如权利要求1‑6中任一项所述的根服务器正确性监测方法的步骤。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有根服务器正确性监测程序,所述根服务器正确性监测程序被处理器执行时实现如权利要求1‑6中任一项所述的根服务器正确性监测方法的步骤。

说明书 :

根服务器正确性监测方法、装置、设备及存储介质

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种根服务器正确性监测方法、装置、设备及存储介质。

背景技术

[0002] DNS(Domain Name System,中文:域名系统)是互联网的一项基础服务,DNS根服务是DNS的基础服务,为顶级域名提供权威服务器地址信息,所以DNS根服务的正确性关系着DNS服务的正确性,并最终影响整个互联网的正常运行。目前,全球DNS根服务由国外公司运营管理,在全球部署了13个节点,为了避免网络受制,国内也开始自建DNS根服务器,但是,此类自建DNS根服务器提供的DNS解析结果的正确性还需进一步确定。
[0003] 上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

发明内容

[0004] 本发明的主要目的在于提供一种根服务器正确性监测方法、装置、设备及存储介质,旨在解决现有技术无法确定自建DNS根服务器的DNS解析结果的正确性的技术问题。
[0005] 为实现上述目的,本发明提供了一种根服务器正确性监测方法,所述方法包括以下步骤:
[0006] 获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果;
[0007] 从所述权威解析结果中选取基准解析结果;
[0008] 将所述目标解析结果与所述基准解析结果进行比较,获得所述目标根服务器的正确性分析结果。
[0009] 可选的,所述获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果的步骤,包括:
[0010] 在访问目标顶级域名时,通过预设抓包工具抓取目标网关中产生的DNS数据包;
[0011] 根据解包程序对所述DNS数据包进行解析,获得解析结果;
[0012] 从所述解析结果中提取目标根服务器对所述目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果。
[0013] 可选的,所述获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果的步骤,包括:
[0014] 从目标网关中读取流量留存文件;
[0015] 对所述流量留存文件进行解析,获得文件解析结果;
[0016] 从所述文件解析结果中提取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果。
[0017] 可选的,所述从所述权威解析结果中选取基准解析结果的步骤,包括:
[0018] 根据结果一致性对各权威解析结果进行分组,获得至少一个结果子集;
[0019] 根据各结果子集中的权威集解析结果的数量确定各结果子集对应的结果数占比;
[0020] 将各结果子集对应的结果数占比中的最大值作为目标结果占比;
[0021] 将所述目标结果占比对应的结果子集中的权威解析结果作为基准解析结果。
[0022] 可选的,所述将所述目标结果占比对应的结果子集中的权威解析结果作为基准解析结果的步骤,包括:
[0023] 将所述目标结果占比与预设占比阈值进行比较;
[0024] 若所述目标结果占比大于所述预设占比阈值,则将所述目标结果占比对应的结果子集中的权威解析结果作为基准解析结果。
[0025] 可选的,所述将所述目标结果占比与预设占比阈值进行比较的步骤之后,还包括:
[0026] 若所述目标结果占比小于或等于所述预设占比阈值,则判定所述目标顶级域名为异常域名;
[0027] 重新选取目标顶级域名,并返回所述获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果的步骤。
[0028] 可选的,所述获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果的步骤之前,还包括:
[0029] 从预设顶级域名集中选取目标顶级域名;
[0030] 根据所述目标顶级域名生成域名查询请求;
[0031] 通过预设模拟工具分别向目标根服务器及权威根服务器发送所述域名查询请求,以进行顶级域名查询。
[0032] 此外,为实现上述目的,本发明还提出一种根服务器正确性监测装置,所述根服务器正确性监测装置包括以下模块:
[0033] 结果获取模块,用于获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果;
[0034] 结果选取模块,用于从所述权威解析结果中选取基准解析结果;
[0035] 正确分析模块,用于将所述目标解析结果与所述基准解析结果进行比较,获得所述目标根服务器的正确性分析结果。
[0036] 此外,为实现上述目的,本发明还提出一种根服务器正确性监测设备,所述根服务器正确性监测设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的根服务器正确性监测程序,所述根服务器正确性监测程序被处理器执行时实现如上所述的根服务器正确性监测方法的步骤。
[0037] 此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有根服务器正确性监测程序,所述根服务器正确性监测程序被处理器执行时实现如上所述的根服务器正确性监测方法的步骤。
[0038] 本发明通过获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对目标顶级域名的权威解析结果;从权威解析结果中选取基准解析结果;将目标解析结果与基准解析结果进行比较,获得目标根服务器的正确性分析结果。由于会获取目标根服务器与权威服务器对同一顶级域名的DNS解析结果,将其进行比较可快速确定目标根服务器提供的DNS解析服务是否正确,且由于是将目标分析结果与选取的基准解析结果比较,而不是将目标解析结果分别与不同的权威解析结果一一进行比较,可以加快比较过程,从而快速确定目标根服务器的域名解析正确性。

附图说明

[0039] 图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
[0040] 图2为本发明根服务器正确性监测方法第一实施例的流程示意图;
[0041] 图3为本发明根服务器正确性监测方法第二实施例的流程示意图;
[0042] 图4为本发明根服务器正确性监测装置第一实施例的结构框图。
[0043] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0044] 应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0045] 参照图1,图1为本发明实施例方案涉及的硬件运行环境的根服务器正确性监测设备结构示意图。
[0046] 如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless‑Fidelity,WI‑FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM),也可以是稳定的非易失性存储器(Non‑Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
[0047] 本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0048] 如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及根服务器正确性监测程序。
[0049] 在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在根服务器正确性监测设备中,所述电子设备通过处理器1001调用存储器1005中存储的根服务器正确性监测程序,并执行本发明实施例提供的根服务器正确性监测方法。
[0050] 本发明实施例提供了一种根服务器正确性监测方法,参照图2,图2为本发明一种根服务器正确性监测方法第一实施例的流程示意图。
[0051] 本实施例中,所述根服务器正确性监测方法包括以下步骤:
[0052] 步骤S10:获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果。
[0053] 需要说明的是,本实施例的执行主体可以是所述根服务器正确性监测设备,简称为根监测设备,所述根监测设备可以是个人电脑、服务器等电子设备,还可以是其他可实现相同或相似功能的设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以根监测设备为例对本发明根服务器正确性监测方法进行说明。
[0054] 需要说明的是,目标根服务器可以是需要进行监测的自建DNS根服务器,目标解析结果可以是目标根服务器对目标顶级域名进行解析后返回的DNS解析结果。权威服务器可以是目前由外国公司运营的在全球部署的13个根服务节点,权威解析结果可以是权威服务器对目标顶级域名进行解析后返回的DNS解析结果。
[0055] 在实际使用中,在向目标根服务器或权威服务器发起域名查询请求时,访问目标顶级域名的服务器或设备所连接的网关中会产生相应的数据包,从此类数据包中即可获得权威解析结果与目标解析结果,此时,本实施例所述步骤S10,可以包括:
[0056] 在访问目标顶级域名时,通过预设抓包工具抓取目标网关中产生的DNS数据包;
[0057] 根据解包程序对所述DNS数据包进行解析,获得解析结果;
[0058] 从所述解析结果中提取目标根服务器对所述目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果。
[0059] 需要说明的是,目标网关可以是访问目标顶级域名的服务器或设备所连接的网关。预设抓包工具可以是wireshark、sniffer、httpwatch、iptool等常用的数据包抓取工具。在向目标根服务器或权威服务器发起域名查询请求时,此时可以判定访问目标顶级域名,此时通过预设抓包工具抓取目标网关中产生的DNS数据包,然后通过抓包工具对应的解包程序解析抓取到的DNS数据包,即可获得目标解析结果及权威解析结果。
[0060] 在具体实现中,由于在访问流量较大时实时抓包会存在丢包的情况,在分析过程中,若需要避免丢包的情况,则可以不采取实时分析的手段,而是在目标网关中设置一个留存程序,留存程序会将流量持续写入流量留存文件中,后续再需要分析时,则可以直接从流量留存文件中获取目标解析结果及权威解析结果,则此时本实施例所述步骤S10,可以包括:
[0061] 从目标网关中读取流量留存文件;
[0062] 对所述流量留存文件进行解析,获得文件解析结果;
[0063] 从所述文件解析结果中提取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果。
[0064] 需要说明的是,在目标网关中设置留存程序时,可以指定流量留存文件的存储路径,因此,从目标网关中读取流量留存文件可以是根据预先设置的存储路径从目标网关中读取流量留存文件,其中,流量留存文件可以是PCAP格式的文件。
[0065] 需要说明的是,对流量留存文件进行解析,获得文件解析结果可以是采用预先设置的文件解析工具对流量留存文件进行解析,并将解析得到的数据作为文件解析结果。其中,文件解析工具可以根据设置留存程序时指定的流量留存文件的类型进行设置。
[0066] 可以理解的是,流量留存文件中包含了目标网关所有的流量数据,其中必然包括目标解析结果及权威解析结果,因此,可以从文件解析结果中提取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对目标顶级域名的权威解析结果。
[0067] 在实际使用中,从文件解析结果中提取目标解析结果及权威解析结果时可以将目标顶级域名作为关键字在文件解析结果中进行查询,从而获得目标解析结果及权威解析结果。
[0068] 进一步的,为了保证可对目标根服务器进行持续性的监测,本实施例所述步骤S10之前,可以包括:
[0069] 从预设顶级域名集中选取目标顶级域名;
[0070] 根据所述目标顶级域名生成域名查询请求;
[0071] 通过预设模拟工具分别向目标根服务器及权威根服务器发送所述域名查询请求,以进行顶级域名查询。
[0072] 需要说明的是,预设顶级域名集可以是存储有大量顶级域名的集合,预设顶级域名集可以由根服务监测设备的管理人员预先进行设置。
[0073] 在实际使用中,从预设顶级域名集总选取目标顶级域名可以是从预设顶级域名集中随机选取一个顶级域名作为目标顶级域名。其中,为了避免同一顶级域名在一个周期内被重复选取,可以对选取到的顶级域名进行标记,在从预设顶级域名集中选取目标顶级域名时会选取不存在标记的顶级域名作为目标顶级域名,而在一个监测周期结束时,可以清除所有对顶级域名的标记。
[0074] 在具体实现中,根据目标顶级域名生成域名查询请求可以是将目标顶级域名作为待解析域名填充至域名查询请求模板中,从而生成域名查询请求。
[0075] 需要说明的是,预设模拟工具可以是Dnsperf工具,Dnsperf工具可以安装在递归服务器上,通过预设模拟工具分别向目标根服务器及权威根服务器发送所述域名查询请求,以进行顶级域名查询可以是将域名查询请求发送给预设模拟工具,以使预设模拟工具分别向目标根服务器及权威根服务器发送域名查询请求,从而进行顶级域名查询。
[0076] 在具体实现中,为了避免请求互相影响以及避免返回的DNS解析结果存在时间误差,可以设置两台递归服务器,在两台递归服务器上均安装预设模拟工具,然后会将生成的域名查询请求分别发送至两台递归服务器上的预设模拟工具,使其分别向目标根服务器及权威根服务器发送域名查询请求。
[0077] 步骤S20:从所述权威解析结果中选取基准解析结果。
[0078] 需要说明的是,从权威解析结果中选取基准解析结果可以是从多个不同的权威服务器对目标顶级域名的权威解析结果中选取一个差异最小的作为基准解析结果。
[0079] 步骤S30:将所述目标解析结果与所述基准解析结果进行比较,获得所述目标根服务器的正确性分析结果。
[0080] 需要说明的是,将目标解析结果与基准解析结果进行比较,可以是将目标解析结果与基准解析结果中包含的应答状态、权威服务记录和附加记录进行比较,确定目标解析结果与基准解析结果中包含的数据是否一致,从而确定目标根服务器的DNS解析结果是否正确。
[0081] 在实际使用中,为了快速的进行比较,将目标解析结果与基准解析结果进行比较,可以将解析结果分为三部分,分别为应答状态、权威记录和附加记录,可以先确定应答状态是否一致,如果不一致,则可以直接判定目标根服务器的DNS解析结果错误;而如果一致,则会根据应答状态确定是否需要进行后续比较,例如:若应答状态一致,且都是NOERROR,则会比较权威服务记录和附加记录,而如果应答状态一致,且都是NXDOMAIN,则表示并未查询到对应的解析结果,则此时不必比较权威服务记录和附加记录。
[0082] 而在比较权威服务记录和附加记录的时候,由于权威服务记录和附加记录均是多条记录,一一对比过于复杂,且速率较慢,此时可以利用python的set对象,每个元素定义为Tuple(元组)类型,包含顶级域、查询类型、映射地址等,把两边set的交集后的结果和两边set比较长度判断是否一致,若长度一致,则可以判定目标解析结果与基准解析结果中的权威服务记录及附加记录均一致,此时可以判定目标根服务器的DNS解析结果正确;而若是不一致,则可以判定目标解析结果与基准解析结果中的权威服务记录或附加记录不一致,此时可以判定目标根服务器的DNS解析结果错误。
[0083] 本实施例通过获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对目标顶级域名的权威解析结果;从权威解析结果中选取基准解析结果;将目标解析结果与基准解析结果进行比较,获得目标根服务器的正确性分析结果。由于会获取目标根服务器与权威服务器对同一顶级域名的DNS解析结果,将其进行比较可快速确定目标根服务器提供的DNS解析服务是否正确,且由于是将目标分析结果与选取的基准解析结果比较,而不是将目标解析结果分别与不同的权威解析结果一一进行比较,可以加快比较过程,从而快速确定目标根服务器的域名解析正确性。
[0084] 参考图3,图3为本发明一种根服务器正确性监测方法第二实施例的流程示意图。
[0085] 基于上述第一实施例,本实施例根服务器正确性监测方法的所述步骤S20,可以包括:
[0086] 步骤S201:根据结果一致性对各权威解析结果进行分组,获得至少一个结果子集。
[0087] 需要说明的是,根据结果一致性对各权威解析结果进行分组,获得至少一个结果子集可以是将结果完全一致的权威解析结果划分至一结果子集中,从而获得至少一个结果子集。
[0088] 在实际使用中,在确定权威解析结果的一致性时,由于权威解析结果中会包含较多数据,且可能会是多条的数据,为了快速确定结果一致性,可以通过哈希算法计算各权威解析结果对应的哈希值,若两个权威解析结果对应的哈希值一致,则表示这两个权威解析结果一致。
[0089] 步骤S202:根据各结果子集中的权威集解析结果的数量确定各结果子集对应的结果数占比。
[0090] 可以理解的是,根据结果子集中的权威集解析结果的数量确定结果子集对应的结果数占比,可以是通过结果子集中的结果数量除以权威集解析结果的总数,从而获得对应的结果数占比,例如:权威解析结果总数为13个,此时一结果子集中存在3个权威解析结果,则此时该结果子集对应的结果数占比为3/13=23%。
[0091] 步骤S203:将各结果子集对应的结果数占比中的最大值作为目标结果占比。
[0092] 在实际使用中,将各结果子集对应的结果数占比中的最大值作为目标结果占比可以是将各结果子集对应的结果数占比按从大到小进行排序,然后将排序第一的结果数占比作为目标结果占比。
[0093] 步骤S204:将所述目标结果占比对应的结果子集中的权威解析结果作为基准解析结果。
[0094] 可以理解的是,由于目标结果占比是各结果子集对应的结果数占比中的最大值,则表示目标结果占比对应的结果子集中的权威解析结果是多数权威服务器返回的权威解析结果,该权威解析结果是差异最小的域名解析结果,因此,可以将目标结果占比对应的结果子集中的权威解析结果作为基准解析结果。
[0095] 进一步的,由于权威服务器也有一定几率可能会出现解析异常,而显然,解析异常的数据是没有办法用于监测目标根服务器的DNS解析是否正确的,因此,在确定基准解析结果之前还需要确定权威解析结果是否为异常结果,则此时本实施例所述步骤S204,可以包括:
[0096] 将所述目标结果占比与预设占比阈值进行比较;
[0097] 若所述目标结果占比大于所述预设占比阈值,则将所述目标结果占比对应的结果子集中的权威解析结果作为基准解析结果。
[0098] 需要说明的是,预设占比阈值可以由根监测设备的管理人员根据实际需要预先进行设置,例如:将预设占比阈值设置为1/3。
[0099] 需要说明的是,若目标结果占比大于所述预设占比阈值,则表示多数权威服务器返回的权威解析结果一致,此时可以判定权威服务器并未出现解析异常,因此,可以将目标结果占比对应的结果子集中的权威解析结果作为基准解析结果。
[0100] 在具体实现中,若目标结果占比小于或等于预设占比阈值,则表示返回相同权威解析结果的权威服务器数量过少,此时可以判定权威服务器出现了解析异常,权威解析结果并不能作为对目标根服务器进行正确性判定的依据,则此时本实施例所述将所述目标结果占比与预设占比阈值进行比较的步骤之后,还可以包括:
[0101] 若所述目标结果占比小于或等于所述预设占比阈值,则判定所述目标顶级域名为异常域名;
[0102] 重新选取目标顶级域名,并返回所述获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果的步骤。
[0103] 需要说明的是,目标结果占比小于或等于预设占比阈值,则表示权威服务器对目标顶级域名的解析出现了异常,此时权威解析结果无法作为判定目标根服务器的DNS解析是否正确的依据,因此,可以判定目标顶级域名为异常域名,此时可以对该目标顶级域名进行标记,然后重新选取目标顶级域名,并根据重新选取的目标顶级域名向目标根服务器及权威服务器发起域名解析请求,然后返回上述步骤S10,继续对目标根服务器的监测。
[0104] 本实施例通过根据结果一致性对各权威解析结果进行分组,获得至少一个结果子集;根据各结果子集中的权威集解析结果的数量确定各结果子集对应的结果数占比;将各结果子集对应的结果数占比中的最大值作为目标结果占比;将所述目标结果占比对应的结果子集中的权威解析结果作为基准解析结果。由于会将各权威解析结果根据结果一致性进行分组,并确定分组后各结果子集对应的结果数占比,根据结果数占比即可快速确定差异最小的权威解析结果,从而实现了快速选取基准解析结果。
[0105] 此外,本发明实施例还提出一种存储介质,所述存储介质上存储有根服务器正确性监测程序,所述根服务器正确性监测程序被处理器执行时实现如上文所述的根服务器正确性监测方法的步骤。
[0106] 参照图4,图4为本发明根服务器正确性监测装置第一实施例的结构框图。
[0107] 如图4所示,本发明实施例提出的根服务器正确性监测装置包括:
[0108] 结果获取模块10,用于获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果;
[0109] 结果选取模块20,用于从所述权威解析结果中选取基准解析结果;
[0110] 正确分析模块30,用于将所述目标解析结果与所述基准解析结果进行比较,获得所述目标根服务器的正确性分析结果。
[0111] 本实施例通过获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对目标顶级域名的权威解析结果;从权威解析结果中选取基准解析结果;将目标解析结果与基准解析结果进行比较,获得目标根服务器的正确性分析结果。由于会获取目标根服务器与权威服务器对同一顶级域名的DNS解析结果,将其进行比较可快速确定目标根服务器提供的DNS解析服务是否正确,且由于是将目标分析结果与选取的基准解析结果比较,而不是将目标解析结果分别与不同的权威解析结果一一进行比较,可以加快比较过程,从而快速确定目标根服务器的域名解析正确性。
[0112] 进一步的,所述结果获取模块10,还用于在访问目标顶级域名时,通过预设抓包工具抓取目标网关中产生的DNS数据包;根据解包程序对所述DNS数据包进行解析,获得解析结果;从所述解析结果中提取目标根服务器对所述目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果。
[0113] 进一步的,所述结果获取模块10,还用于从目标网关中读取流量留存文件;对所述流量留存文件进行解析,获得文件解析结果;从所述文件解析结果中提取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果。
[0114] 进一步的,所述结果选取模块20,还用于根据结果一致性对各权威解析结果进行分组,获得至少一个结果子集;根据各结果子集中的权威集解析结果的数量确定各结果子集对应的结果数占比;将各结果子集对应的结果数占比中的最大值作为目标结果占比;将所述目标结果占比对应的结果子集中的权威解析结果作为基准解析结果。
[0115] 进一步的,所述结果选取模块20,还用于将所述目标结果占比与预设占比阈值进行比较;若所述目标结果占比大于所述预设占比阈值,则将所述目标结果占比对应的结果子集中的权威解析结果作为基准解析结果。
[0116] 进一步的,所述结果选取模块20,还用于若所述目标结果占比小于或等于所述预设占比阈值,则判定所述目标顶级域名为异常域名;重新选取目标顶级域名,并返回所述获取目标根服务器对目标顶级域名的目标解析结果,以及权威根服务器对所述目标顶级域名的权威解析结果的步骤。
[0117] 进一步的,所述结果获取模块10,还用于从预设顶级域名集中选取目标顶级域名;根据所述目标顶级域名生成域名查询请求;通过预设模拟工具分别向目标根服务器及权威根服务器发送所述域名查询请求,以进行顶级域名查询。
[0118] 应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
[0119] 需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
[0120] 另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的根服务器正确性监测方法,此处不再赘述。
[0121] 此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0122] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0123] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0124] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。