CN110661677B - 一种dns测试方法、装置和系统 - Google Patents
一种dns测试方法、装置和系统 Download PDFInfo
- Publication number
- CN110661677B CN110661677B CN201810713150.5A CN201810713150A CN110661677B CN 110661677 B CN110661677 B CN 110661677B CN 201810713150 A CN201810713150 A CN 201810713150A CN 110661677 B CN110661677 B CN 110661677B
- Authority
- CN
- China
- Prior art keywords
- dns
- tested
- standard
- query
- query request
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- 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]
Abstract
本发明提供了一种DNS测试方法、装置和系统。涉及计算机网络,解决了现有的DNS测试分析方案存在测试数据匮乏、人力资源消耗严重及影响实际网络稳定性的问题。该方法包括:收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果;根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析。本发明提供的技术方案适用于域名解析服务,实现了自动化DNS测试验证。
Description
技术领域
本发明涉及计算机网络,尤其涉及一种DNS测试方法、装置和系统。
背景技术
DNS是一项因特网基础服务,作为域名与IP地址相互映射的分布式数据库,使用户能够方便地访问互联网。当用户通过域名访问某一站点时,会先发起一条DNS查询请求到DNS服务器,查询域名对应的IP地址,然后用户利用该IP地址去访问该站点的服务器资源。
目前实现DNS解析服务的软件有很多,如:BIND、NSD、PowerDNS等等。虽然BIND占有率高且相对稳定,但并发处理能力不高,且DNS作为互联网入口,很容易受到大量DDos攻击,导致用户无法正常访问网络。因此,为了提升DNS的处理能力,目前很多公司采用自研的方式实现高性能DNS软件,处理能力较BIND软件提高数十倍之多。
由于DNS的重要性,不允许出现丝毫的解析问题,因此对自研DNS需要进行充分全面的验证。目前有很多用以提高并发处理能力的自研DNS方案,但通常采用一些简单对比方式或通过长时间观察来判断解析是否正确,常见验证方法如下:
1.通过dig进行大量测试来验证解析功能正确性。
2.通过人工静态对比自研DNS和标准BIND解析日志进行验证。
3.最小范围部署到实际环境,长时间观察统计计数及影响情况。
采用上述方法进行DNS解析验证时,存在以下缺点:
1.通过dig大量测试,费时费力,且测试数据不够充分。
2.通过人工静态对比日志,人工操作繁杂,且对比数据有限。
3.将未完全验证通过的系统部署的实际环境,存在一定风险,影响实际网络环境的稳定性。
综上,现有的DNS测试分析方案存在测试数据匮乏、人力资源消耗严重及影响实际网络稳定性的问题。
发明内容
本发明旨在解决上面描述的问题。
根据本发明的第一方面,提供了一种DNS测试方法,包括:
收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果;
根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析。
优选的,所述收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果的步骤之前,还包括:
所述标准DNS将接收到的线上查询请求引流至所述待测试DNS,以触发所述待测试DNS形成查询结果。
优选的,所述收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果的步骤包括:
实时拉取所述待测试DNS和所述标准DNS基于所述查询请求形成的DNS请求日志。
优选的,所述收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果的步骤之前,还包括:
获取所述标准DNS的查询请求日志;
根据所述查询请求日志,生成DNS查询请求;
向所述待测试DNS和所述标准DNS发送所述DNS查询请求。
优选的,根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析的步骤包括:
以所述标准DNS的查询结果为准,对比所述待测试DNS和所述标准DNS的查询结果;
在所述待测试DNS与所述标准DNS的查询结果无冲突的情况下,判定所述待测试DNS功能正常。
优选的,以所述标准DNS的查询结果为准,对比所述待测试DNS和所述标准DNS的查询结果的步骤之后,还包括:
在所述待测试DNS与所述标准DNS的查询结果冲突的情况下,判定所述待测试DNS功能存在异常。
根据本发明的另一方面,还提供了一种DNS测试装置,包括:
结果采集模块,用于收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果;
性能分析模块,用于根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析。
优选的,所述结果采集模块包括:
日志拉取单元,用于实时拉取所述标准DNS基于所述查询请求形成的DNS请求日志,以及实时拉取所述待测试DNS基于自所述标准DNS引流的查询请求形成的DNS请求日志。
优选的,该装置还包括:
请求日志获取模块,用于获取所述标准DNS的查询请求日志;
查询请求生成模块,用于根据所述查询请求日志,生成DNS查询请求;
查询请求发送模块,用于向所述待测试DNS和所述标准DNS发送所述DNS查询请求。
根据本发明另一方面,还提供了一种DNS测试系统,包括DNS测试装置、标准DNS与待测试DNS,所述DNS测试装置与所述标准DNS之间通过网络连接,所述DNS测试装置与所述待测试DNS之间通过网络连接;
所述DNS测试装置,用于收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果,然后根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析。
优选的,所述标准DNS通过网络与所述待测试DNS连接;
所述标准DNS,用于将接收到的线上查询请求引流至所述待测试DNS,以触发所述待测试DNS形成查询结果。
优选的,所述标准DNS,还用于将生成的查询请求日志上传到所述DNS测试装置;
所述DNS测试装置,还用于获取所述标准DNS的查询请求日志,根据所述查询请求日志,生成DNS查询请求,向所述待测试DNS和所述标准DNS发送所述DNS查询请求。
本发明提供了一种DNS测试方法、装置和系统,收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果,根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析。实现了自动化DNS测试验证,解决了现有的DNS测试分析方案存在测试数据匮乏、人力资源消耗严重及影响实际网络稳定性的问题。
参照附图来阅读对于示例性实施例的以下描述,本发明的其他特性特征和优点将变得清晰。
附图说明
并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。
图1示例性地示出了本发明的一实施例提供的一种DNS测试方法的流程;
图2示例性地示出了本发明的一实施例提供的又一种DNS测试方法的流程;
图3示例性地示出了本发明的一实施例提供的一种DNS测试装置的结构;
图4示例性地示出了图3中结果采集模块301的结构;
图5示例性地示出了本发明的一实施例提供的一种DNS测试系统的架构;
图6示例性地示出了本发明的一实施例提供的又一种DNS测试系统的架构。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明的实施例提供了一种DNS测试方法、装置和系统,通过构建标准DNS,与待测试DNS共同运行,通过两个DNS查询结果对比完成测试及分析。实现了自动化DNS测试验证,解决了现有的DNS测试分析方案存在测试数据匮乏、人力资源消耗严重及影响实际网络稳定性的问题。
本发明的一实施例提供了一种DNS测试方法,以测试验证机器为执行主体,使用该方法完成对DNS测试的流程如图1所示,包括:
步骤101、标准DNS将接收到的线上查询请求引流至待测试DNS,以触发所述待测试DNS形成查询结果。
本发明实施例中,以BIND系统作为标准DNS,以自研DNS作为待测试DNS。对BIND和自研DNS进行同样的配置,如主机记录的配置、线路对应的ip库配置、dns软件参数配置等,以保证两个DNS运行条件相同。
本步骤中,将BIND系统接收到的线上查询请求引流至所述自研DNS,以收集针对同样查询请求两个DNS反馈的查询结果。具体的,通过udpcopy将线上BIND查询引流到自研DNS系统。
步骤102、收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果。
本步骤中,实时拉取所述待测试DNS和所述标准DNS基于所述查询请求形成的DNS请求日志。
优选的,将自研DNS系统等待测试DNS产生的应答包丢弃,以防影响线上服务。
具体的,自研DNS和BIND系统双方各自产生查询日志,定时上传到测试验证机器。
步骤103、根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析。
本步骤中,测试验证机器实时对这两台机器产生的查询日志进行对比,以所述标准DNS的查询结果为准,对比所述待测试DNS和所述标准DNS的查询结果。在所述待测试DNS与所述标准DNS的查询结果无冲突的情况下,判定所述待测试DNS功能正常;在所述待测试DNS与所述标准DNS的查询结果冲突的情况下,判定所述待测试DNS功能存在异常。
优选的,测试验证机器可定时将详细的对比结果信息汇总并上报,若发现异常的结果,向测试人员告警。后续测试人员可定期查看对比结果,了解待测试DNS运行情况。
本发明的一实施例还提供了又一种DNS测试方法,使用该方法完成测试的流程如图2所示,包括:
步骤201、获取标准DNS的查询请求日志。
将线上BIND系统产生的查询日志定时上传到测试验证机器。
步骤202、根据所述查询请求日志,生成DNS查询请求。
测试验证机器实时从日志中提取关键信息,如:域名、类型、线路等
步骤203、向待测试DNS和标准DNS发送所述DNS查询请求。
测试验证机器同时向BIND系统和自研DNS发送查询请求。
步骤204、收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果。
本步骤中,接收所述待测试DNS和所述标准DNS返回的DNS查询应答。
步骤205、根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析。
以所述标准DNS的查询结果为准,对比所述待测试DNS和所述标准DNS的查询结果。在所述待测试DNS与所述标准DNS的查询结果无冲突的情况下,判定所述待测试DNS功能正常;在所述待测试DNS与所述标准DNS的查询结果冲突的情况下,判定所述待测试DNS功能存在异常。
当收到这两个的查询应答后,测试验证机器进行详细的对比分析。
测试验证机器定时将详细的对比结果信息汇总并上报,若发现异常的结果,向测试人员告警。测试人员定时查看对比结果。
本发明的一实施例还提供了一种DNS测试方法,在进行对查询结果的对比分析时,对结果进行了等级划分,包括:success、pass、notice和error等,然后针对每个级别又进行细分,之所以分这么细,是因为DNS应答结果相对比较灵活,而不是一成不变的,比如影响应答结果对比的因素有ip轮询机制、分线路应答机制等等。
测试人员通过该汇总信息可以得知具体的测试情况,然后针对不同的测试结果,再次进行二次分析,最终确保所有结果都是完全准确、可靠的。
本发明的一实施例还提供了一种DNS测试装置,其结构如图3所示,包括:
结果采集模块301,用于收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果;
性能分析模块302,用于根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析。
优选的,所述结果采集模块301的结构如图4所示,包括:
日志拉取单元3011,用于实时拉取所述标准DNS基于所述查询请求形成的DNS请求日志,以及实时拉取所述待测试DNS基于自所述标准DNS引流的查询请求形成的DNS请求日志。
优选的,该装置还包括:
请求日志获取模块303,用于获取所述标准DNS的查询请求日志;
查询请求生成模块304,用于根据所述查询请求日志,生成DNS查询请求;
查询请求发送模块305,用于向所述待测试DNS和所述标准DNS发送所述DNS查询请求。
优选的,所述结果采集模块301还包括:
应答接收单元3012,用于接收所述待测试DNS和所述标准DNS返回的DNS查询应答。
本发明实施例还提供了一种DNS测试系统,如图5所示,包括DNS测试装置、标准DNS与待测试DNS,所述DNS测试装置与所述标准DNS之间通过网络连接,所述DNS测试装置与所述待测试DNS之间通过网络连接;
所述DNS测试装置,用于收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果,然后根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析。
优选的,如图6所示,所述标准DNS通过网络与所述待测试DNS连接;
所述标准DNS,用于将接收到的线上查询请求引流至所述待测试DNS,以触发所述待测试DNS形成查询结果。
优选的,所述标准DNS,还用于将生成的查询请求日志上传到所述DNS测试装置;
所述DNS测试装置,还用于获取所述标准DNS的查询请求日志,根据所述查询请求日志,生成DNS查询请求,向所述待测试DNS和所述标准DNS发送所述DNS查询请求。
本发明的实施例提供了一种DNS测试方法、装置和系统,收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果,根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析。实现了自动化DNS测试验证,解决了现有的DNS测试分析方案存在测试数据匮乏、人力资源消耗严重及影响实际网络稳定性的问题。
将自研DNS等待测试DNS的验证过程自动化、智能化,提供了实时、准确的对比线上大量数据,以及结果上报,异常报警等功能。验证过程实时、准确、且利用了大量的线上数据,涵盖了自研DNS系统的验证,以及后续新版本的回归测试。
上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种DNS测试方法,其特征在于,包括:
通过udpcopy将标准DNS接收到的线上查询请求引流至待测试DNS,以触发待测试DNS形成查询结果;
获取所述标准DNS的查询请求日志;
根据所述查询请求日志,生成DNS查询请求;
向所述待测试DNS和所述标准DNS发送所述DNS查询请求;
收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果,包括实时拉取所述待测试DNS和所述标准DNS基于所述查询请求形成的DNS请求日志;
根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析;其中,所述标准DNS与所述待测试DNS共同运行。
2.根据权利要求1所述的DNS测试方法,其特征在于,根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析的步骤包括:
以所述标准DNS的查询结果为准,对比所述待测试DNS和所述标准DNS的查询结果;
在所述待测试DNS与所述标准DNS的查询结果无冲突的情况下,判定所述待测试DNS功能正常。
3.根据权利要求2所述的DNS测试方法,其特征在于,以所述标准DNS的查询结果为准,对比所述待测试DNS和所述标准DNS的查询结果的步骤之后,还包括:
在所述待测试DNS与所述标准DNS的查询结果冲突的情况下,判定所述待测试DNS功能存在异常。
4.一种DNS测试装置,其特征在于,包括:
结果采集模块,用于收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果;
性能分析模块,用于根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析;
所述结果采集模块包括:
日志拉取单元,用于实时拉取所述标准DNS基于所述查询请求形成的DNS请求日志,以及实时拉取所述待测试DNS基于自所述标准DNS引流的查询请求形成的DNS请求日志;其中,所述标准DNS与所述待测试DNS共同运行;
请求日志获取模块,用于通过udpcopy将标准DNS接收到的线上查询请求引流至待测试DNS,以触发待测试DNS形成查询结果,获取所述标准DNS的查询请求日志;
查询请求生成模块,用于根据所述查询请求日志,生成DNS查询请求;
查询请求发送模块,用于向所述待测试DNS和所述标准DNS发送所述DNS查询请求。
5.一种DNS测试系统,其特征在于,包括DNS测试装置、标准DNS与待测试DNS,所述DNS测试装置与所述标准DNS之间通过网络连接,所述DNS测试装置与所述待测试DNS之间通过网络连接;
所述DNS测试装置,用于收集待测试DNS和标准DNS基于同样的查询请求形成的查询结果,然后根据所述待测试DNS和所述标准DNS的查询结果,对所述待测试DNS进行性能分析;
所述标准DNS通过网络与所述待测试DNS连接;
所述标准DNS,用于通过udpcopy将接收到的线上查询请求引流至所述待测试DNS,以触发所述待测试DNS形成查询结果;其中,所述标准DNS与所述待测试DNS共同运行;
所述标准DNS,还用于将生成的查询请求日志上传到所述DNS测试装置;
所述DNS测试装置,还用于获取所述标准DNS的查询请求日志,根据所述查询请求日志,生成DNS查询请求,向所述待测试DNS和所述标准DNS发送所述DNS查询请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810713150.5A CN110661677B (zh) | 2018-06-29 | 2018-06-29 | 一种dns测试方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810713150.5A CN110661677B (zh) | 2018-06-29 | 2018-06-29 | 一种dns测试方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110661677A CN110661677A (zh) | 2020-01-07 |
CN110661677B true CN110661677B (zh) | 2023-04-18 |
Family
ID=69027033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810713150.5A Active CN110661677B (zh) | 2018-06-29 | 2018-06-29 | 一种dns测试方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110661677B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111432045B (zh) * | 2020-03-19 | 2022-05-31 | 杭州迪普科技股份有限公司 | 一种域名系统服务器调度算法的测试方法、装置及设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7251688B2 (en) * | 2000-05-26 | 2007-07-31 | Akamai Technologies, Inc. | Method for generating a network map |
US8326980B2 (en) * | 2010-04-28 | 2012-12-04 | Microsoft Corporation | Using DNS reflection to measure network performance |
CN106571981B (zh) * | 2016-11-15 | 2019-07-19 | 中国互联网络信息中心 | 一种dns服务器自动化测试方法与系统 |
-
2018
- 2018-06-29 CN CN201810713150.5A patent/CN110661677B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110661677A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110636131B (zh) | 一种基于云技术的物联网测试系统 | |
CN107579874B (zh) | 一种检测流量采集设备数据采集漏报的方法及装置 | |
CN109885496B (zh) | 测试日志管理方法及系统 | |
CN108092854B (zh) | 基于iec61375协议的列车级以太网设备的测试方法及装置 | |
CN108206769B (zh) | 过滤网络质量告警的方法、装置、设备和介质 | |
CN107342913B (zh) | 一种cdn节点的探测方法和装置 | |
CN110532779A (zh) | 一种漏洞检测的方法、装置、终端及存储介质 | |
CN111666193B (zh) | 基于实时日志解析的终端功能监控与测试的方法与系统 | |
CN110769076B (zh) | 一种dns测试方法和系统 | |
CN110661677B (zh) | 一种dns测试方法、装置和系统 | |
CN114625645A (zh) | 业务测试方法、装置、电子设备以及可读存储介质 | |
CN116405412B (zh) | 基于混沌工程故障模拟服务端集群有效性验证方法和系统 | |
CN112948262A (zh) | 一种系统测试方法、装置、计算机设备和存储介质 | |
CN113127356A (zh) | 压测方法、装置、电子设备及存储介质 | |
CN112202647A (zh) | 区块链网络中的测试方法、装置及测试设备 | |
CN116627849A (zh) | 系统测试方法、装置、设备及存储介质 | |
CN114610689B (zh) | 一种分布式环境中请求日志的记录和分析方法 | |
CN114448935B (zh) | 一种ip地址可用性告警自动推送处理方法及装置 | |
CN110134583A (zh) | 软件测试及数据处理方法及装置 | |
CN110166581B (zh) | 一种域名解析服务器访问频次占比获取方法及装置 | |
CN111045915A (zh) | 一种基于产品功能测试用例的安全测试的方法和装置 | |
CN111865724B (zh) | 视频监控设备信息采集控制实现方法 | |
CN113360376A (zh) | 埋点测试方法和装置 | |
CN111800409A (zh) | 接口攻击检测方法及装置 | |
CN111506507A (zh) | 业务服务的状态检测方法及装置、电子设备、存储介质 |
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 |