CN109067938B - 一种测试dns服务器的方法及装置 - Google Patents
一种测试dns服务器的方法及装置 Download PDFInfo
- Publication number
- CN109067938B CN109067938B CN201811198021.3A CN201811198021A CN109067938B CN 109067938 B CN109067938 B CN 109067938B CN 201811198021 A CN201811198021 A CN 201811198021A CN 109067938 B CN109067938 B CN 109067938B
- Authority
- CN
- China
- Prior art keywords
- packet
- response
- dns
- request packet
- dns server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种测试DNS服务器的方法及装置,其中,该方法包括:按照预设周期获取生产环境中DNS服务器接收到的DNS请求包;基于DNS请求包生成第一测试请求包和第二测试请求包;按照预设发包速度向待测DNS服务器发送第一测试请求包,以及向基准DNS服务器发送第二测试请求包;获取待测DNS服务器基于第一测试请求包生成的第一响应包,以及获取基准DNS服务器基于第二测试请求包生成的第二响应包;对比第一响应包和第二响应包,得到待测DNS服务器的测试结果。本发明直接利用生产环境中的DNS请求包构造测试流量,不仅能够获得大量且多样化的测试流量,还能够提高测试流量构造效率,而且能够较真实地模拟生产环境的场景,提高测试的准确性。
Description
技术领域
本发明涉及DNS技术领域,特别涉及一种测试DNS服务器的方法及装置。
背景技术
DNS(Domain Name System,域名系统)是整个互联网服务的基础之一。DNS服务器用于将用户访问的互联网域名转换为IP地址,使用户更方便的访问互联网。DNS服务器作为访问流量的入口,其响应结果尤其重要,错误的响应结果无法解析到较优的IP地址,会导致用户从距离较远的服务器获取访问内容,从而延长用户的等待时间,降低用户体验。为保证DNS服务器的服务性能,需要对欲投入使用的DNS服务器进行性能测试。
但是,目前对于DNS服务器的服务性能未有完善的测试方案,通常依靠手工构造流量进行性能测试,但是手工构造流量有一定局限性,比如,测试效率低下、流量小、数据单一,并且与生产环境存在较大差异,不能完全模拟生产环境的场景,测试结果准确性较差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种分布式系统中故障盘的检测方法、装置及检测系统。所述技术方案如下:
第一方面,提供了一种测试DNS服务器的方法,该方法包括:
按照预设周期获取生产环境中DNS服务器接收到的DNS请求包;
基于所述DNS请求包生成第一测试请求包和第二测试请求包;
按照预设发包速度向待测DNS服务器发送所述第一测试请求包,以及向基准DNS服务器发送所述第二测试请求包;
获取所述待测DNS服务器基于所述第一测试请求包生成的第一响应包,以及获取所述基准DNS服务器基于所述第二测试请求包生成的第二响应包;
对比所述第一响应包和所述第二响应包,得到所述待测DNS服务器的测试结果。
可选的,按照预设周期获取生产环境中DNS服务器接收到的DNS请求包的步骤,包括:
按照预设周期获取生产环境中DNS服务器的抓包日志;
如果所述抓包日志有更新,则获取所述抓包日志中新生成的DNS请求包。
可选的,基于所述DNS请求包生成第一测试请求包和第二测试请求包的步骤,包括:
将所述DNS请求包中的目的地址替换为所述待测DNS服务器的IP地址生成所述第一测试请求包;
将所述DNS请求包中的目的地址替换为所述基准DNS服务器的IP地址生成所述第二测试请求包。
可选的,对比所述待测DNS服务器生成的第一响应包和所述基准DNS服务器生成的第二响应包的步骤,包括:
判断所述第一响应包的时间戳与所述第二响应包的时间戳之间的间隔是否在预设范围内;
如果在,则判断所述第一响应包的响应内容与所述第二响应包的响应内容是否一致,否则丢弃所述第一响应包和所述第二响应包;
如果响应内容一致,则标记匹配正确;
如果响应内容不一致,则判断所述第一响应包的报头与所述第二响应包的报头是否一致;
如果报头一致,则从配置文件中获取所述DNS请求包中的域名对应的IP地址记录信息,并判断所述第一响应包中的IP地址和所述第二响应包中的IP地址是否均在所述IP地址记录信息中,否则标记匹配错误;
如果均在所述IP地址记录信息中,则标记匹配正确,否则标记匹配错误。
可选的,判断所述第一响应包的时间戳与所述第二响应包的时间戳之间的间隔是否在预设范围内的步骤之前,还包括:
使用请求源IP地址、域名以及请求ID建立响应包索引进行匹配,得到基于同一DNS请求包生成的第一响应包和第二响应包。
可选的,向待测DNS服务器发送所述第一测试请求包,以及向基准DNS服务器发送所述第二测试请求包的步骤,包括:
采用多线程并发发包机制同时向所述待测DNS服务器发送所述第一测试请求包,以及向所述基准DNS服务器发送所述第二测试请求包。
第二方面,提供了一种测试DNS服务器的装置,该装置包括:
获取模块,用于按照预设周期获取生产环境中DNS服务器接收到的DNS请求包;
处理模块,用于基于所述DNS请求包生成第一测试请求包和第二测试请求包;
发送模块,用于按照预设发包速度向待测DNS服务器发送所述第一测试请求包,以及向基准DNS服务器发送所述第二测试请求包;
所述获取模块,还用于获取所述待测DNS服务器基于所述第一测试请求包生成的第一响应包,以及获取所述基准DNS服务器基于所述第二测试请求包生成的第二响应包;
对比模块,用于对比所述第一响应包和所述第二响应包,得到所述待测DNS服务器的测试结果。
可选的,所述获取模块,具体用于:
按照预设周期获取生产环境中DNS服务器的抓包日志;
如果所述抓包日志有更新,则获取所述抓包日志中新生成的DNS请求包。
可选的,所述处理模块,具体用于:
将所述DNS请求包中的目的地址替换为所述待测DNS服务器的IP地址生成所述第一测试请求包;
将所述DNS请求包中的目的地址替换为所述基准DNS服务器的IP地址生成所述第二测试请求包。
可选的,所述对比模块,具体用于:
判断所述第一响应包的时间戳与所述第二响应包的时间戳之间的间隔是否在预设范围内;
如果在,则判断所述第一响应包的响应内容与所述第二响应包的响应内容是否一致,否则丢弃所述第一响应包和所述第二响应包;
如果响应内容一致,则标记匹配正确;
如果响应内容不一致,则判断所述第一响应包的报头与所述第二响应包的报头是否一致;
如果报头一致,则从配置文件中获取所述DNS请求包中的域名对应的IP地址记录信息,并判断所述第一响应包中的IP地址和所述第二响应包中的IP地址是否均在所述IP地址记录信息中,否则标记匹配错误;
如果均在所述IP地址记录信息中,则标记匹配正确,否则标记匹配错误。
可选的,所述处理模块,还具体用于:
使用请求源IP地址、域名以及请求ID建立响应包索引进行匹配,得到基于同一DNS请求包生成的第一响应包和第二响应包。
可选的,所述发送模块,还用于:
采用多线程并发发包机制同时向所述待测DNS服务器发送所述第一测试请求包,以及向所述基准DNS服务器发送所述第二测试请求包。
第三方面,提供了一种测试服务器,所述测试服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述第一方面所述的测试DNS服务器的方法。
在本发明实施例中,测试服务器利用生产环境中DNS服务器接收到的DNS请求包,构造用于测试待测DNS服务器的测试流量,由于生产环境中会产生大量的DNS请求包,直接利用生产环境中的DNS请求包构造测试流量,不仅能够获得大量且多样化的测试流量,还能够提高测试流量构造效率,而且能够较真实地模拟生产环境的场景,提高测试的准确性;并且同时将测试流量发送至待测DNS服务器和基准DNS服务器,将待测DNS服务器生成的响应结果与基准DNS服务器生成的响应结果进行智能对比,从而准确判断待测DNS服务器响应结果的正误,进一步提高测试效率以及准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种网络框架示意图;
图2是本发明实施例提供的一种测试DNS服务器的方法的流程图;
图3是本发明实施例提供的一种测试DNS服务器的装置的结构框图;
图4是本发明实施例提供的一种测试服务器的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种测试DNS服务器的方法,该方法可以应用于图1所示的网络框架中。该网络框架包括生产环境中的DNS服务器、测试服务器以及测试环境中的待测DNS服务器和基准DNS服务器。生产环境中包括多台DNS服务器,生产环境中的DNS服务器用于接收用户发送的DNS请求包,并进行响应,即进行域名解析,得到相应的IP地址。测试服务器用于按照预设周期获取生产环境中DNS服务器接收到的DNS请求包,并基于所述DNS请求包生成第一测试请求包和第二测试请求包,再按照预设发包速度向待测DNS服务器发送所述第一测试请求包,以及向基准DNS服务器发送所述第二测试请求包。其中,基准DNS服务器为服务性能良好的DNS服务器,其响应结果用于为评估待测DNS服务器的响应结果提供参考。然后测试服务器获取所述待测DNS服务器基于所述第一测试请求包生成的第一响应包,以及获取所述基准DNS服务器基于所述第二测试请求包生成的第二响应包,对比所述第一响应包和所述第二响应包,得到所述待测DNS服务器的测试结果。其中,生产环境与测试环境相互隔离,互相不影响。
参见图2,为本发明实施例提供的一种测试DNS服务器的方法的流程图,该方法应用于测试服务器,也即由测试服务器来执行,该方法具体可以包括以下步骤。
步骤201,按照预设周期获取生产环境中DNS服务器接收到的DNS请求包。
在实施中,测试服务器可以按照预设周期获取生产环境中DNS服务器的抓包日志,如果所述抓包日志有更新,则获取所述抓包日志中新生成的DNS请求包。抓包日志中可能还包括其他不需要的请求包,所以从抓包日志中获取DNS请求包时,需要进行过滤。例如,当设置测试服务器由53端口并基于UDP(User Datagram Protocol,用户数据报协议)传输DNS请求包时,可以从抓包日志中过滤出53端口的UDP包作为DNS请求包。
步骤202,基于所述DNS请求包生成第一测试请求包和第二测试请求包。
其中,DNS请求包包括源地址(即请求源的IP地址)、端口号(例如53端口)、请求类型(例如UDP类型)、请求ID(identity,身份标识号码)、待解析的域名以及目的地址。测试服务器为将DNS请求包作为测试流量发送至测试环境中的待测DNS服务器和基准DNS服务器,所以需要将DNS请求包中原有的目的地址分别替换为待测DNS服务器的IP地址以及基准DNS服务器的IP地址。
也就是说,测试服务器利用DNS请求包构造测试流量的过程可以包括:将所述DNS请求包中的目的地址替换为所述待测DNS服务器的IP地址生成所述第一测试请求包,并将所述DNS请求包中的目的地址替换为所述基准DNS服务器的IP地址生成所述第二测试请求包。在利用DNS请求包构造测试流量,即测试请求包时,除替换DNS请求包中原有的目的地址外,其他信息可以不用修改。
由于生产环境中会产生大量的DNS请求包,直接利用生产环境中的DNS请求包构造测试流量,不仅能够获得大量测试流量,还能够提高测试流量构造效率,而且能够模拟生产环境的场景,提高测试的准确性。
步骤203,按照预设发包速度向待测DNS服务器发送所述第一测试请求包,以及向基准DNS服务器发送所述第二测试请求包。
测试服务器在向测试环境发送测试流量之前,可以根据生产环境的DNS请求量预先设置QPS(Query Per Second,每秒查询率),即发包速度,从而较真实地模拟生产环境。
测试服务器可以预先配置待测DNS服务器的IP地址以及MAC(Media AccessControl,媒体访问控制)地址,以及基准DNS服务器的IP地址以及MAC地址,从而按照预先配置好的IP地址以及MAC地址发送测试请求包。
在实施中,测试服务器可以采用多线程并发的发包机制同时向所述待测DNS服务器发送所述第一测试请求包,以及向所述基准DNS服务器发送所述第二测试请求包。多线程并发发包的具体过程为:主线程定时,例如每隔15分钟获取测试请求包,并将测试请求包加入到发包队列中,其中,每个发包线程对应一个发包队列,由发包工具按照预设发包速度从发包队列中获取并发送测试请求包。
步骤204,获取所述待测DNS服务器基于所述第一测试请求包生成的第一响应包,以及获取所述基准DNS服务器基于所述第二测试请求包生成的第二响应包。
待测DNS服务器接收到第一测试请求包之后,进行响应,即从配置文件中获取测试请求包中域名对应的IP地址,生成第一响应包。基准DNS服务器接收到第二测试请求包之后,进行响应,生成第二响应包。待测DNS服务器和基准DNS服务器进行响应时所使用的配置文件相同。第一响应包和第二响应包均包括请求源的IP地址、端口号、请求类型、请求ID、待解析的域名以及解析得到的IP地址。其中,请求源的IP地址、端口号、请求类型、请求ID以及待解析的域名与DNS请求包中的请求源的IP地址、端口号、请求类型、请求ID以及待解析的域名相同。
步骤205,对比所述第一响应包和所述第二响应包,得到所述待测DNS服务器的测试结果。
在实际应用中,测试服务器会获得大量的第一响应包和所述第二响应包,所以要对第一响应包和第二响应包进行匹配,具体的,可以使用请求源IP地址、域名以及请求ID建立响应包索引进行匹配,即匹配第一响应包和第二响应包所包含的请求源IP地址、域名以及请求ID是否分别相同,从而得到基于同一DNS请求包生成的第一响应包和第二响应包,即相互匹配的第一响应包和第二响应包。其中,请求源IP地址、域名以及请求ID分别相同的第一响应包和第二响应包,为相互匹配的第一响应包和第二响应包。进一步的,为避免接收到的响应包中存在乱包,需要对接收到的响应包进行过滤,也就是说,只保留特定端口号以及请求类型的响应包,例如,只保留53端口的UDP包,丢弃其他不符合要求的响应包。
测试服务器对相互匹配的第一响应包和所述第二响应包进行对比的具体过程为:判断所述第一响应包的时间戳与所述第二响应包的时间戳之间的间隔是否在预设范围内;如果在,则判断所述第一响应包的响应内容与所述第二响应包的响应内容是否一致,否则丢弃所述第一响应包和所述第二响应包;如果响应内容一致,则标记匹配正确;如果响应内容不一致,则判断所述第一响应包的报头与所述第二响应包的报头是否一致;如果报头一致,则从配置文件中获取所述DNS请求包中的域名对应的IP地址记录信息,并判断所述第一响应包中的IP地址和所述第二响应包中的IP地址是否均在所述IP地址记录信息中,否则标记匹配错误;如果均在所述IP地址记录信息中,则标记匹配正确,否则标记匹配错误。
该配置文件中保存有域名对应IP地址记录信息,该IP地址记录信息中包括至少一个IP地址,也就是说,同一域名可能对应多个IP地址,在对该域名进行解析时,可以从该域名对应的IP地址记录信息中获取预设数量的IP地址。由于同一域名可能对应多个IP地址,待测DNS服务器和基准DNS服务器在进行域名解析时,可能会获取同一IP地址记录信息中不同的IP地址,所以当第一响应包和第二响应包的响应内容不同,但报头一致时,需要判断第一响应包中的IP地址和第二响应包中的IP地址是否均在相应的IP地址记录信息中。如果第一响应包中的IP地址和第二响应包中的IP地址均在相应的IP地址记录信息中,并且响应包中的IP地址的数量符合预设数量,则标记匹配正确。
然后测试服务器将对比结果进行汇总,汇总无效的响应包,即时间戳不匹配的响应包,标记匹配正确的响应包以及匹配错误的响应包,从而得到待测DNS服务器的测试结果,根据该测试结果即可判断待测DNS服务器的服务性能。
需要说明的是,用于获取DNS请求包,以及构造并发送测试请求包的服务器,与用于获取以及对比第一响应包和第二响应包的服务器,可以是不同的服务器,本发明实施例不对执行各个步骤的服务器进行具体限定。
在本发明实施例中,测试服务器利用生产环境中DNS服务器接收到的DNS请求包,构造用于测试待测DNS服务器的测试流量,由于生产环境中会产生大量的DNS请求包,直接利用生产环境中的DNS请求包构造测试流量,不仅能够获得大量且多样化的测试流量,还能够提高测试流量构造效率,而且能够较真实地模拟生产环境的场景,提高测试的准确性;并且同时将测试流量发送至待测DNS服务器和基准DNS服务器,将待测DNS服务器生成的响应结果与基准DNS服务器生成的响应结果进行智能对比,从而准确判断待测DNS服务器响应结果的正误,进一步提高测试效率以及准确性。
参照图3,为本发明实施例提供的一种测试DNS服务器的装置的结构框图,该装置可以包括获取模块301、处理模块302、发送模块303以及对比模块304。
其中,获取模块301,用于按照预设周期获取生产环境中DNS服务器接收到的DNS请求包;
处理模块302,用于基于所述DNS请求包生成第一测试请求包和第二测试请求包;
发送模块303,用于按照预设发包速度向待测DNS服务器发送所述第一测试请求包,以及向基准DNS服务器发送所述第二测试请求包;
所述获取模块301,还用于获取所述待测DNS服务器基于所述第一测试请求包生成的第一响应包,以及获取所述基准DNS服务器基于所述第二测试请求包生成的第二响应包;
对比模块304,用于对比所述第一响应包和所述第二响应包,得到所述待测DNS服务器的测试结果。
优选的,所述获取模块301,具体用于:
按照预设周期获取生产环境中DNS服务器的抓包日志;
如果所述抓包日志有更新,则获取所述抓包日志中新生成的DNS请求包。
优选的,所述处理模块302,具体用于:
将所述DNS请求包中的目的地址替换为所述待测DNS服务器的IP地址生成所述第一测试请求包;
将所述DNS请求包中的目的地址替换为所述基准DNS服务器的IP地址生成所述第二测试请求包。
优选的,所述对比模块304,具体用于:
判断所述第一响应包的时间戳与所述第二响应包的时间戳之间的间隔是否在预设范围内;
如果在,则判断所述第一响应包的响应内容与所述第二响应包的响应内容是否一致,否则丢弃所述第一响应包和所述第二响应包;
如果响应内容一致,则标记匹配正确;
如果响应内容不一致,则判断所述第一响应包的报头与所述第二响应包的报头是否一致;
如果报头一致,则从配置文件中获取所述DNS请求包中的域名对应的IP地址记录信息,并判断所述第一响应包中的IP地址和所述第二响应包中的IP地址是否均在所述IP地址记录信息中,否则标记匹配错误;
如果均在所述IP地址记录信息中,则标记匹配正确,否则标记匹配错误。
优选的,所述处理模块302,还具体用于:
使用请求源IP地址、域名以及请求ID建立响应包索引进行匹配,得到基于同一DNS请求包生成的第一响应包和第二响应包。
优选的,所述发送模块303,还用于:
采用多线程并发发包机制同时向所述待测DNS服务器发送所述第一测试请求包,以及向所述基准DNS服务器发送所述第二测试请求包。
在本发明实施例中,测试服务器利用生产环境中DNS服务器接收到的DNS请求包,构造用于测试待测DNS服务器的测试流量,由于生产环境中会产生大量的DNS请求包,直接利用生产环境中的DNS请求包构造测试流量,不仅能够获得大量且多样化的测试流量,还能够提高测试流量构造效率,而且能够较真实地模拟生产环境的场景,提高测试的准确性;并且同时将测试流量发送至待测DNS服务器和基准DNS服务器,将待测DNS服务器生成的响应结果与基准DNS服务器生成的响应结果进行智能对比,从而准确判断待测DNS服务器响应结果的正误,进一步提高测试效率以及准确性。
需要说明的是:上述实施例提供的测试DNS服务器的装置在测试时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的测试DNS服务器的装置与测试DNS服务器的方法的实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4是本发明实施例提供的测试服务器的结构框图。该测试服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对测试服务器中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在测试服务器400上执行存储介质430中的一系列指令操作。
测试服务器400还可以包括一个或一个以上电源429,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,一个或一个以上键盘456,和/或,一个或一个以上操作系统441,例如Windows Server,Mac OSX,Unix,Linux,FreeBSD等等。
测试服务器400可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行上述测试DNS服务器的指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种测试DNS服务器的方法,其特征在于,所述方法包括:
按照预设周期获取生产环境中DNS服务器接收到的DNS请求包;
基于所述DNS请求包生成第一测试请求包和第二测试请求包;
按照预设发包速度向待测DNS服务器发送所述第一测试请求包,以及向基准DNS服务器发送所述第二测试请求包,其中,所述预设发包速度根据生产环境的DNS请求量进行设置;
获取所述待测DNS服务器基于所述第一测试请求包生成的第一响应包,以及获取所述基准DNS服务器基于所述第二测试请求包生成的第二响应包;
判断所述第一响应包的时间戳与所述第二响应包的时间戳之间的间隔是否在预设范围内;
如果在,则判断所述第一响应包的响应内容与所述第二响应包的响应内容是否一致,否则丢弃所述第一响应包和所述第二响应包;
如果响应内容一致,则标记匹配正确,如果所述响应内容不一致,则判断所述第一响应包的报头与所述第二响应包的报头是否一致;
如果报头一致,则从配置文件中获取所述DNS请求包中的域名对应的IP地址记录信息,并判断所述第一响应包中的IP地址和所述第二响应包中的IP地址是否均在所述IP地址记录信息中;
如果均在所述IP地址记录信息中,则标记匹配正确,否则标记匹配错误;
将时间戳之间的间隔不在预设范围的响应包,标记匹配正确的响应包以及标记匹配错误的响应包进行汇总,得到所述待测DNS服务器的测试结果。
2.根据权利要求1所述的方法,其特征在于,按照预设周期获取生产环境中DNS服务器接收到的DNS请求包的步骤,包括:
按照预设周期获取生产环境中DNS服务器的抓包日志;
如果所述抓包日志有更新,则获取所述抓包日志中新生成的DNS请求包。
3.根据权利要求1所述的方法,其特征在于,基于所述DNS请求包生成第一测试请求包和第二测试请求包的步骤,包括:
将所述DNS请求包中的目的地址替换为所述待测DNS服务器的IP地址生成所述第一测试请求包;
将所述DNS请求包中的目的地址替换为所述基准DNS服务器的IP地址生成所述第二测试请求包。
4.根据权利要求1所述的方法,其特征在于,判断所述第一响应包的时间戳与所述第二响应包的时间戳之间的间隔是否在预设范围内的步骤之前,还包括:
使用请求源IP地址、域名以及请求ID建立响应包索引进行匹配,得到基于同一DNS请求包生成的第一响应包和第二响应包。
5.根据权利要求1~4中任一项所述的方法,其特征在于,向待测DNS服务器发送所述第一测试请求包,以及向基准DNS服务器发送所述第二测试请求包的步骤,包括:
采用多线程并发发包机制同时向所述待测DNS服务器发送所述第一测试请求包,以及向所述基准DNS服务器发送所述第二测试请求包。
6.一种测试DNS服务器的装置,其特征在于,所述装置包括:
获取模块,用于按照预设周期获取生产环境中DNS服务器接收到的DNS请求包;
处理模块,用于基于所述DNS请求包生成第一测试请求包和第二测试请求包;
发送模块,用于按照预设发包速度向待测DNS服务器发送所述第一测试请求包,以及向基准DNS服务器发送所述第二测试请求包,其中,所述预设发包速度根据生产环境的DNS请求量进行设置;
所述获取模块,还用于获取所述待测DNS服务器基于所述第一测试请求包生成的第一响应包,以及获取所述基准DNS服务器基于所述第二测试请求包生成的第二响应包;
对比模块,用于判断所述第一响应包的时间戳与所述第二响应包的时间戳之间的间隔是否在预设范围内;如果在,则判断所述第一响应包的响应内容与所述第二响应包的响应内容是否一致,否则丢弃所述第一响应包和所述第二响应包;如果响应内容一致,则标记匹配正确,如果所述响应内容不一致,则判断所述第一响应包的报头与所述第二响应包的报头是否一致;如果报头一致,则从配置文件中获取所述DNS请求包中的域名对应的IP地址记录信息,并判断所述第一响应包中的IP地址和所述第二响应包中的IP地址是否均在所述IP地址记录信息中;如果均在所述IP地址记录信息中,则标记匹配正确,否则标记匹配错误;将时间戳之间的间隔不在预设范围的响应包,标记匹配正确的响应包以及标记匹配错误的响应包进行汇总,得到所述待测DNS服务器的测试结果。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,具体用于:
按照预设周期获取生产环境中DNS服务器的抓包日志;
如果所述抓包日志有更新,则获取所述抓包日志中新生成的DNS请求包。
8.根据权利要求6所述的装置,其特征在于,所述处理模块,具体用于:
将所述DNS请求包中的目的地址替换为所述待测DNS服务器的IP地址生成所述第一测试请求包;
将所述DNS请求包中的目的地址替换为所述基准DNS服务器的IP地址生成所述第二测试请求包。
9.根据权利要求6所述的装置,其特征在于,所述处理模块,还具体用于:
使用请求源IP地址、域名以及请求ID建立响应包索引进行匹配,得到基于同一DNS请求包生成的第一响应包和第二响应包。
10.根据权利要求6~9中任一项所述的装置,其特征在于,所述发送模块,还用于:
采用多线程并发发包机制同时向所述待测DNS服务器发送所述第一测试请求包,以及向所述基准DNS服务器发送所述第二测试请求包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811198021.3A CN109067938B (zh) | 2018-10-15 | 2018-10-15 | 一种测试dns服务器的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811198021.3A CN109067938B (zh) | 2018-10-15 | 2018-10-15 | 一种测试dns服务器的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109067938A CN109067938A (zh) | 2018-12-21 |
CN109067938B true CN109067938B (zh) | 2022-03-04 |
Family
ID=64764012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811198021.3A Active CN109067938B (zh) | 2018-10-15 | 2018-10-15 | 一种测试dns服务器的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109067938B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110098978B (zh) * | 2019-04-12 | 2021-02-26 | 网宿科技股份有限公司 | 一种dns调度的测试方法、装置、网络设备及存储介质 |
CN110380890B (zh) * | 2019-06-03 | 2021-04-02 | 网宿科技股份有限公司 | 一种cdn系统服务质量检测方法及系统 |
CN111030888B (zh) * | 2019-12-23 | 2022-06-21 | 中国移动通信集团内蒙古有限公司 | 域名系统dns容量测量方法、装置、设备及介质 |
CN111432045B (zh) * | 2020-03-19 | 2022-05-31 | 杭州迪普科技股份有限公司 | 一种域名系统服务器调度算法的测试方法、装置及设备 |
CN112398694B (zh) * | 2020-11-18 | 2024-02-20 | 互联网域名系统北京市工程研究中心有限公司 | 流量检测系统、方法及存储介质 |
CN114666301B (zh) * | 2020-12-22 | 2024-07-05 | 深圳Tcl新技术有限公司 | 一种基于mock服务器的APP测试方法及系统 |
CN113329039B (zh) * | 2021-08-03 | 2021-11-02 | 杭州安恒信息技术股份有限公司 | 一种缓存污染检测方法、装置、电子设备和存储介质 |
CN114465928B (zh) * | 2022-04-12 | 2022-06-14 | 北京智象信息技术有限公司 | 一种基于dns服务模拟环境下的测试方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185734A (zh) * | 2011-04-18 | 2011-09-14 | 华为软件技术有限公司 | 接口自动化测试方法及服务器 |
CN103428042A (zh) * | 2012-05-22 | 2013-12-04 | 腾讯科技(深圳)有限公司 | 对服务器进行压力测试的方法及系统 |
CN104639388A (zh) * | 2014-12-30 | 2015-05-20 | 中国科学院计算机网络信息中心 | 一种基于用户感知的dns服务器可用性检测方法 |
CN105681133A (zh) * | 2016-03-14 | 2016-06-15 | 中国科学院计算技术研究所 | 一种检测dns服务器是否防网络攻击的方法 |
CN107171889A (zh) * | 2017-05-27 | 2017-09-15 | 北京金山安全软件有限公司 | 网络应用接口的测试方法、装置及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9246699B2 (en) * | 2010-06-07 | 2016-01-26 | Salesforce.Com, Inc. | Method and system for testing multiple components of a multi-tenant, multi-domain, multi-tiered website |
CN106155890A (zh) * | 2015-04-02 | 2016-11-23 | 深圳市腾讯计算机系统有限公司 | 平台测试方法和系统 |
CN106571981B (zh) * | 2016-11-15 | 2019-07-19 | 中国互联网络信息中心 | 一种dns服务器自动化测试方法与系统 |
-
2018
- 2018-10-15 CN CN201811198021.3A patent/CN109067938B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185734A (zh) * | 2011-04-18 | 2011-09-14 | 华为软件技术有限公司 | 接口自动化测试方法及服务器 |
CN103428042A (zh) * | 2012-05-22 | 2013-12-04 | 腾讯科技(深圳)有限公司 | 对服务器进行压力测试的方法及系统 |
CN104639388A (zh) * | 2014-12-30 | 2015-05-20 | 中国科学院计算机网络信息中心 | 一种基于用户感知的dns服务器可用性检测方法 |
CN105681133A (zh) * | 2016-03-14 | 2016-06-15 | 中国科学院计算技术研究所 | 一种检测dns服务器是否防网络攻击的方法 |
CN107171889A (zh) * | 2017-05-27 | 2017-09-15 | 北京金山安全软件有限公司 | 网络应用接口的测试方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109067938A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109067938B (zh) | 一种测试dns服务器的方法及装置 | |
US10764148B2 (en) | Methods, systems, and computer readable media for network traffic statistics collection | |
US7523198B2 (en) | Integrated testing approach for publish/subscribe network systems | |
US20130191890A1 (en) | Method and system for user identity recognition based on specific information | |
CN108683569B (zh) | 一种面向云服务基础设施的业务监测方法及系统 | |
EP3140960B1 (en) | Methods, systems, and computer readable media for providing fuzz testing functionality | |
CN101841441B (zh) | 流量控制设备的测试方法、系统及数据流回放装置 | |
CN107623611A (zh) | 一种云平台虚拟机的流量监控系统 | |
CN111371639B (zh) | 网络延时分析方法、装置、存储介质和计算机设备 | |
CN106657434B (zh) | 一种ip地址的查看方法和装置 | |
CN114389792B (zh) | 一种web日志nat前后关联方法及系统 | |
CN109561300A (zh) | 业务质量检测方法及装置 | |
CN111130947A (zh) | 一种基于服务验证的网络空间测绘方法 | |
CN111385163A (zh) | 流量的分析、检测方法及装置 | |
CN110912752B (zh) | 一种基于网络抓包的网络故障智能定位分析方法 | |
CN112580730A (zh) | 一种终端类型的识别方法及装置 | |
US9893945B2 (en) | Process system for constructing network structure deployment diagram and method thereof and computer program product storing analysis program of network structure deployment | |
CN104639351A (zh) | 用以建构网络结构部署图的处理系统及其方法 | |
CN110708209B (zh) | 虚拟机流量采集方法、装置、电子设备及存储介质 | |
CN106936664B (zh) | 软件定义网络路径性能测试装置和方法 | |
CN107592374B (zh) | 域名错误解析的纠正方法和系统 | |
CN116170352A (zh) | 网络流量的处理方法、装置、电子设备及存储介质 | |
CN112671949B (zh) | 一种根据syslog日志关联NAT前后会话的方法及系统 | |
CN118055052A (zh) | 动态主机配置协议测试方法、电子设备、计算机可读介质 | |
US8825843B2 (en) | System and methods for monitoring a geographic information system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |