网站首页  词典首页

请输入您要查询的论文:

 

标题 DNS协议测试软件的设计与实现
范文

    阮晓龙

    

    

    

    摘要:本文通过对DNS协议和DNS系统的业务流程进行分析,以及目前现有的DNS协议测试软件进行分析,设计并实现了一种对DNS协议状态进行测试的软件。软件可以实现不同类型记录的检测,并对响应数据分析得到DNS服务器的访问状态以及访问性能情况。实例证明,该软件能很好地完成检测与分析任务,方便对DNS服务器的运行情况进行正确评估。

    关键词:DNS协议;DNS报文;Whois信息查询

    引言

    随着互联网的高速发展,Web业务的访问量大大增加,几何级数增长的Web访问量对DNS服务器的解析性能提出了更高要求。域名服务是网络中比较重要的基础服务之一,DNS的解析服务性能影响着网络访问的服务质量。

    本文首先分析了DNS协议的业务流程,继而引出一些常见的DNS协议测试软件,通过这些测试软件的对比得到新的需求,基于新的需求进行软件的设计与实现,并将开发的软件投入各种场景的应用,最后对软件的测试结果进行分析。研究表明,该软件能很好地完成检测与分析任务,为用户在自主评估DNS服务器方面提供了较大的帮助和便利。

    1DNS基本信息

    1.1DNS概念

    所谓DNS,是Domain Name System的英文缩写,又称域名系统。它在互联网的作用是:把域名转换成为网络可以识别的IP地址。当一台主机访问网络上的另一台主机时,就需要知道对方的IP地址,而用户只记得另一台主机的域名,此时,用户输入域名后,本机就需要找到该域名对应的IP地址是什么,这个过程,就叫做域名解析。

    1.2DNS报文

    DNS报文是DNS协议的具体实现,作为DNS协议的通信基础,熟悉DNS的报文格式有助于理解DNS的工作原理。DNS报文分报头和正文段两部分,其中正文段分四类:查询段、应答段、授权段和附加段。其具体结构如图1所示:

    DNS正文段中的查询段用于主机向DNS服务器发送域名地址解析请求,应答段、授权段和附加段用于DNS服务器返回域名地址解析的结果。

    1.3DNS工作过程

    DNS是一个分布式系统,它的管理与控制也是分布式的。当一个用户在访问一个域名地址时,DNS系统的业务流程如图2所示:

    当DNS客户端向域名服务器发出域名解析请求时,因为被请求的DNS都会有自己的资料库,所以域名服务器会通过查找自己的资料库来回应此域名的真正IP地址。如果在自己的资料库中没有找到,DNS服务器则会向根域服务器请求协同寻找。

    2 DNS测试软件

    2.1DNS测试软件介绍

    DNS测试软件能够帮助用户方便的评估出某台DNS服务器域名解析服务是否正常与高效。

    2.2DNS测试软件分类

    在这里,将DNS测试软件划分为两类,一种是在线DNS测试软件,另一种是可单机运行的DNS测试客户端软件。

    在线版DNS测试软件:只需在浏览器中输入测试软件的域名,即可实现DNS解析检测,主要查询公网中DNS服务的状态;

    客户端版DNS测试软件:线上可检测公网DNS服务状态,线下还能实现私网中DNS服务状态的检测。

    2.3功能对比

    两种DNS测试软件的功能对比如表1所示:

    2.4DNS测试软件的不足

    对于在线版DNS测试软件来说,依赖互联网既是优势,也是不足,它只能检测公网上已有的DNS服务器,而不能对校园网等类型的内部DNS服务器进行检测。客户端版DNS测试软件又大多是国外产品,在国内的易用性较差,且软件太大,且需要安装。

    3DNS测试软件的需求

    3.1定位

    DNS测试软件是一种客户端软件,功能多易用性强,支持中文。

    3.2功能需求

    DNS测试软件的功能需求如下:

    (1)软件的界面友好,简明,易用,使用户能够轻松的进行操作。

    (2)软件的可靠性高,能够充分保证检测结果的准确性和有效性,以便准确的判断出DNS服务器的状态特征。

    (3)能够实现对指定记录在本地DNS服务器、公共DNS服务器和指定DNS服务器下的解析测试。

    (4)能够对域名所属的注册信息等进行查询,并保证查询结果实时准确。

    3.3软件的价值

    DNS测试软件可方便快捷的实现DNS服务检测,即使在公网断开的情况下,也能准确的分析本地DNS服务器的内网解析能力,可帮助用户在网络出现故障时,检测DNS服务器的生存状态,为故障排除提供依据。

    4DNS测试软件的实现

    4.1结构设计

    4.1.1技术路线

    软件结构采用单机客户端模式,使用WPF开发。

    4.1.2逻辑结构

    该软件通过互联网/路由器向目标DNS服务器发送解析请求,DNS服务器进行响应并将请求数据通过互联网/路由器返回给DNS协议分析软件。结构图如图3所示:

    4.2功能设计

    4.2.1功能层次结构

    HTTP协议分析软件功能结构层次图如图4所示:

    4.2.2原型设计

    DNS协议分析软件的原型设计图如5-图8所示:

    4.3软件关键功能实现

    DNS测试软件的记录测试功能关键代码摘录如下:

    //判断是否为本机首选DNS服务器

    if(cbDNSserver.SelectedIndex=0)

    //得到描述本地计算机上的网络接口的对象

    N etworkIntertacell adapters=NetworkIntertace.GetAllNetworkInterfaces();

    //得到描述此网络接口的配置的对象

    IPInterfaceProperties adapterProperties=adapt-ers[0】.GetlPProperties();

    //获取此接口的域名系统(DNS)服务器的首个地址

    dnsname—adapterProperties.DnsAddresses[0].ToString();

    //从选中的下拉列表值中查找出公共域名系统(DNs)服务器地址的开始位置

    int m—ebDNSserver.SelectedValue.ToString().Indexof(”(”);

    //从选中的下拉列表值中查找出公共域名系统(DNs)服务器地址的结束位置

    int n—cbDNSserver.SelectedValue.ToString().Indexof(”)”);

    //筛选出公共域名系统(DNS)服务器地址

    dnsname—cbDNSserver.SelectedValue.ToString().Substring(m+1,n-m-1);

    //添加DNS记录测试结果列表的表头

    dt.Rows.Add("DNs记录","记录类型","解析结果","TTL");

    //声明一个自定义的DNS对象

    MyDns mydns=new MyDns();

    //查询A类型的DNS记录

    if(!mydns.Search(host,QueryType.A,dnsname,null))

    //不存在时,提示服务器返回码

    Message-Box.Show(mydns.headeERCODE.ToString());

    4.4软件交互设计

    DNS协议分析软件包含软件主页、DNS记录测试、Whois信息查询三个部分,其交互设计为:

    1.软件主页

    DNS协议分析软件的软件主页,介绍了DNS协议分析软件的功能详情,如图9所示:

    2.DNS记录测试

    DNS协议分析软件的DNS记录测试,在输入DNS记录并选择指定DNS服务器后,将会使用指定的DNS服务器对输入的DNS记录进行解析测试,并以将测试结果以列表方式展示出来,交互界面如图10-图12所示:

    3.Whois信息查询

    Whois信息查询,输入域名后,可对该域名的公共Whois信息进行查询,并对查询结果进行展示,交互界面图13所示:

    4.5软件测试

    DNS协议分析软件的软件测试为功能确认测试,具体方法如下:

    1.双击软件运行,出现欢迎界面;

    2.点击“DNS记录测试”,输入DNS记录,这里以www.baidu.com为例,测试结果如图14所示:

    3.点击“Whois信息查询”,输入域名信息,进行域名公共Whois信息查询,这里以sina.com.cn为例,测试结果如图15所示:

    5软件应用与分析

    5.1典型应用一:检测本地DNS服务器的可用

    性

    应用场景:校园网中,一般用户若要上网,需要使用校园网的DNS服务器提供服务,此时,可使用DNS协议测试软件检测本地校园网DNS服务器的名称和可用性。

    操作方法:

    第一步:在电脑上上双击DNS协议测试软件运行,出现软件主页后;

    第二步:选择DNS记录测试,之后在DNS记录的输入框中填写一个域名(最好是知名网站的域名信息,如“www.baidu.com”);

    第三步:选择默认的DNS服务器地址,即本机首选DNS服务器;

    第四步:点击“开始测试”按钮,等待测试结果;

    第五步:查看DNS记录解析结果,其中,软件的中间左侧部分显示DNS解析服务器信息,即本机首选DNS服务器地址;中间右侧部分显示DNS记录测试结果,呈列表形式,若解析成功,会出现该DNS记录相应的解析结果,说明本机首选DNS服务器状态为可用,测试结果包含该条记录的名称、记录类型、解析结果和TTL,其中TTL值越小,说明本机首先DNS服务器解析效率越高;若解析失败,说明本机首先DNS服务器状态不可用。

    最后,还可以重新输入其他DNS记录,重复二、三、四、五步来进行排他性测试,测试中使用的DNS记录数越多,知名度越高,测试的结果就越准确。

    操作截图:

    使用价值:软件操作简单,结果分析明了,可以简单直接的查看到本机首选DNS服务器的信息和状态,并可对测试结果进行分析得到本机首选DNS服务器解析的准确度和性能。

    5.2典型应用二:本地DNS服务器故障,选择

    最优的公共DNS服务器使用

    应用场景:在我们的日常生活中,当遇到上网高峰期时,因同时上网用户量过多,本地DNS服务器承担的压力较大,会造成相应的解析效率下降或不稳定等故障,此时可适时选择其他公共DNS服务器来保证本机上网的正常。

    操作方法.

    第一步:在电脑上双击DNS协议测试软件运行,出现软件主页后;

    第二步:选择DNS记录测试,之后在DNS记录的输入框中填写一个域名(最好是知名网站的域名信息,如“www.baidu.com”);

    第三步:选择一条软件收录的公共DNS服务器地址;

    第四步:点击“开始测试”按钮,等待测试结果;

    第五步:查看DNS记录解析结果,其中,软件的中间左侧部分显示DNS解析服务器信息,即所选的公共DNS服务器地址;中间右侧部分显示DNS记录测试结果,呈列表形式,若解析成功,会出现该DNS记录相应的解析结果,说明该公共DNS服务器状态为可用,测试结果包含该条记录的名称、记录类型、解析结果和TTL,其中TTL值越小,说明此公共DNS服务器解析效率越高;若解析失败,说明所选公共DNS服务器状态不可用。

    之后,依次选择其他公共DNS服务器进行测试,重复三、四、五步来进行对比性测试,最后根据对比测试结果,选择一条解析效率最高的公共DNS服务器使用。

    操作截图:

    使用价值:软件收录的有知名的公共DNS服务器,通过简单的对比性测试,即可选择出最优的DNS服务器来使用。

    5.3典型应用三:自定义DNS服务器的检测

    应用场景:在实验室中,内网中的某台DNS服务器,需对其进行可用性检测,因无法连接公共网络,此时就可选用DNS测试软件来进行检测。

    操作方法:

    第一步:在电脑上上双击DNS协议测试软件运行,出现软件主页;

    第二步:选择DNS记录测试,之后在DNS记录的输入框中填写一个实验室域名(需另行配置);

    第三步:选择指定DNS服务器地址,即将复选框选中后,输入自定义DNS服务器地址;

    第四步:点击“开始测试”按钮,等待测试结果;

    第五步:查看DNS记录解析结果,其中,软件的中间左侧部分显示DNS解析服务器信息,即本机首选DNS服务器地址;中间右侧部分显示DNS记录测试结果,呈列表形式,若解析成功,会出现该DNS记录相应的解析结果,说明白定义的DNS服务器状态为可用,测试结果包含该条记录的名称、记录类型、解析结果和TTL,其中TTL值越小,说明白定义的DNS服务器解析效率越高;若解析失败,说明白定义的DNS服务器状态不可用。

    操作截图:

    使用价值:在离线的局域网中,只需简单的操作,即可实现内部DNS服务器的可用性检测。

    5.4典型应用四:域名Whois信息查询

    应用场景:域名Whois信息作为域名的身份简介,要对其进行精确查询时,就可选用DNS测试软件来进行检测。

    操作方法:

    第一步:在电脑上上双击DNS协议测试软件运行,出现软件主页后;

    第二步:选择Whois信息查询,之后在域名信息的输入框中填写一个域名;

    第三步:选择指定DNS服务器地址,即将复选框选中后,输入自定义DNS服务器地址;

    第四步:点击“开始测试”按钮,等待测试结果;

    第五步:查看DNS记录解析结果,其中,软件的中间左侧部分显示DNS解析服务器信息,即本机首选DNS服务器地址;中间右侧部分显示DNS记录测试结果,呈列表形式,若解析成功,会出现该DNS记录相应的解析结果,说明白定义的DNS服务器状态为可用,测试结果包含该条记录的名称、记录类型、解析结果和TTL,其中TTL值越小,说明白定义的DNS服务器解析效率越高;若解析失败,说明白定义的DNS服务器状态不可用。

    操作截图:使用价值:在离线的局域网中,只需简单的操作,即可实现内部DNS服务器的可用性检测。

    6结论

    6.1成果

    通过对常用DNS测试软件的对比分析,指出这些工具的优缺点,进行需求分析设计出软件的功能框架,然后对需求进行细化处理并实现功能,最后进行uI设计、软件开发、软件测试并将软件投入使用。

    软件完成之后面对互联网提供服务,在互联网上提供免费下载。为互联网上的用户提供一个操作简单,体验良好的DNS协议分析软件。

    通过对DNS协议分析软件应用举例,将用户在日常网络使用和管理中遇到的DNS服务相关的问题进行阐述和分析,并说明如何使用该软件进行解决,为用户提供了较大的帮助和便利,提高了用户在DNS协议方面的知识和技能。

    6.2进一步完善计划

    1.现有功能优化。对软件现有的功能进行优化,修正使用过程中可能出现的功能错误,并对原有功能的性能进行优化,确保软件在运行过程中更加高效、快速。

    2.新功能扩展。对软件原有的功能进行丰富性扩展,增加公共DNS服务器的智能对比分析,帮助用户更加快捷的选择使用;增加DNS记录测试的性能测试方法,实现指定DNS服务器的性能测试。

    3.现有功能深化。对DNS协议进行更加深入的研究与探索,剖析DNS协议的解析原理,以进一步提高DNS协议测试软件功能的健壮性,智能性与高效性,以适应IPv6普及和应用的大势所趋。

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/16 12:08:48