工程类实验报告系:计算机与信息学院专业:网络工程年级: 09级姓名:学号:实验课程:实验室号:___ 实验设备号:实验时间:指导教师签字:成绩:实验四 DNS 协议分析实验1.实验原理DNS 是域名系统(Domain Name System)的缩写,是一种分层次的、基于域的命名方案,主要用来将主机名映射成 IP 地址。
当用户在应用程序中输入域名时,DNS 通过一个分布式数据库系统将域名解析为相对应的IP 地址。
(1)域名服务器和域名解析在互联网中,域名解析是通过域名服务器实现的。
域名服务器构成对应的层次结构,每个域名服务器保存着它所管辖区域内的主机名和IP 地址的对照表。
这组域名服务器是域名解析的核心。
域名解析方式有两种:递归解析和迭代解析。
(2)域名解析递归解析就是本地域名服务器系统一次性地完成域名到 IP 地址的转换,即使它没有所要查询的域名信息,它也会查询别的域名服务器。
迭代解析则是当本地域名服务器中没有被查询的主机域名的信息时,它就会将一个可能有该域名信息的DNS 服务器的地址返回给请求域名解析的 DNS 客户,DNS 客户再向指定的 DNS 服务器查询。
在实际应用中通常是将两种解析方式结合起来进行域名解析。
当本地域名服务器没有所要查询的域名信息时,就请求根域名服务器,根域名服务器将有可能查到该域名信息的域名服务器地址返回给要求域名解析的本地域名服务器,本地域名服务器再到指定的域名服务器上查询,如指定域名服务器上还没有该域名信息,它再将它的子域名服务器的 IP 地址返回给要求域名解析的本地域名服务器,这样直到查询到待解析的域名的 IP 地址为止(没有注册的主机域名除外),本地域名服务器再将查询结果返回给DNS 客户,完成域名解析。
(3)DNS 高速缓存每个域名服务器都维护着一个高速缓存,存放最近用到过的域名信息和此记录的来源。
当客户请求域名解析时,域名服务器首先检查它是否被授权管理该域名,若未被授权,则查看自己的高速缓存,检查该域名是否最近被转换过。
如果有这个域名信息,域名服务器就会将有关域名和IP 地址的绑定信息报告给客户,并标志为非授权绑定,同时给出获得此绑定的域名服务器的域名,本地域名服务器也会将该绑定通知客户。
但该绑定信息可能是过时的。
根据是强调高效还是准确性,客户可以选择接受该绑定信息还是直接与该绑定信息的授权服务器联系。
2.实验工具软件简介(1)Simple DNS Plus 软件Simple DNS Plus 软件是一款简单的DNS 服务器,可以构架一个Intranet/Internet 域名服务器,也可以通过 DNS 缓存来提高你的网络访问速度,可以让你轻松配置域名与IP 地址对应关系。
Simple DNS Plus 软件安装完成后,其内部已经存储了一些根域名服务器的 IP 地址,当收到 DNS 请求时,如果在本地缓存中找不到相应的记录,DNS 服务器则向这些根域名服务器发出域名解析请求,并逐步完成解析过程。
同时也可以由自己添加相应的记录。
将计算机配置为DNS 服务器需要进行以下配置:* 将本地连接的TCP/IP 属性中首选的DNS 服务器的IP 地址设置为本机的IP地址。
(Windows2000 不允许设置为 127.0.0.1)* 运行Simple DNS Plus 软件,选择DNS 服务器的Tools-Option 命令,弹出图6-1 所示对话框:选择General 选项卡,选中Run as windows Service 复选框;1图 6-1 Simple DNS Plus 系统设置* 在上图DNS Requests 选项卡中,将本地计算机的IP 地址选上,使本机成为DNS 服务器;* 使用浏览器访问Internet,如果DNS 工作正常则配置完成。
(2)NSLOOKUP 命令工具Nslookup 是 Windows 系统自带的命令工具,可以显示域名解析,除得到域名主机 IP 外,还可以得到 DNS 解析服务器的主机名称和对应的 IP 地址。
由于本次实验只需要获取 DNS 报文,因此选择它作为客户端工具。
3.实验环境与说明(1)实验目的学习 Simple DNS Plus 软件在 Windows XP 下安装和使用的方法;分析 DNS 协议报文格式和DNS 协议的工作过程;理解DNS 缓存的作用。
(2)实验设备和连接实验设备和连接图如图 6-2 所示,一台锐捷 S2126G 交换机连接了 2 台 PC机,分别命名为PC1、PC2,交换机命名为Switch。
图6-2 DNS 协议分析实验连接图(3)实验分组每二名同学为一组,每小组各自独立完成实验。
4.实验步骤步骤 1:确保主机PC1 可正常使用互联网,在PC1 的命令行窗口中输入:ipconfig/flushdns,清空主机中DNS缓存的内容。
启动Wireshark进行监听,输入命令:ping ,观察DNS协议的记录,回答问题:1)主机PC1 所在网络的本地域名服务器的IP 地址是什么?答:210.34.80.32)在主机的命令行窗口中输入命令:ipconfig /all,在显示结果中DNS SERVER 处显示了哪些IP 地址?这些IP 地址之间有什么关系?答:第一条IP为首选DNS服务器IP,第二条为备用DNS服务器的IP。
步骤2:按照图6-2 连接实验设备,配置各计算机的IP 地址和默认网关,确保计算机能正常上网。
步骤3:按照本节第2 部分实验工具软件简介的方法将PC1 配置成DNS 服务器。
步骤4:配置PC2 的DNS 服务器为PC1,方法是打开“网络和Internet连接”的“网络连接”窗口,“本地连接”,右键快捷菜单“属性”,在常规选项卡中打开“Internet 协议(TCP/IP)属性”对话框。
设置首选DNS 服务器地址为 192.168.0.100(以图例)。
步骤5:清空DNS 服务器缓存,方法:在Simple DNS Plus 主菜单执行File-ClearDNS Cache。
步骤6:在PC1 和PC2 上启动Wireshark,设置PC1 的截获条件为“not broadcast and not multicast”,PC2 的截获条件为“host192.168.0.100 ”,开始截获报文。
步骤7:在PC2 上打开命令行窗口。
如图6-3 所示,执行Nslookup,查询。
图6-3 NSLOOKUP 操作示意步骤8:停止截获报文并将截获的结果分别保存为DNS-S 和DNS-C。
分析DNS 的请求和应答报文,完成下面的要求。
1)从DNS-C 中选择一条计算机发出的DNS 请求报文和相应的DNS 应答报文(它们的Transaction ID 字段的值相同),将两条报文的信息填入表 6-1。
表6-1 DNS 请求报文和应答报文信息DNS 报文类型 报文序号 源站点 目的站点 报文信息DNS 请求报文 3192.168.0.101 192.168.0.100 请求sina 的IP 地址 DNS 应答报文 4 192.168.0.100 192.168.0.101 对192.168.0.101请求的回复,将sina 的IP 地址给它2)如图 6-4 所示,在 DNS-S 的众多报文中找出图 6-4 所示的①~⑧报文,并将这些报文填入表 6-2。
图 6-4 DNS 的解析过程表 6-2 DNS 请求报文格式序号 报文序号 源站点目的站点 报文主要作用 所属查询类型 110 192.168.0.101 192.168.0.100 请求sina 对应的IP 地址 A 211 192.168.0.100 128.63.2.53 请求sina 对应的IP 地址 A 312 128.63.2.53 192.168.0.100 返回.com 域名服务器地址 A 413 192.168.0.100 192.31.80.30 向.com 域名服务器请求sina 对应的IP 地址 A 514 192.31.80.30 192.168.0.100 返回sina 的域名服务器地址 A 615 192.168.0.100 114.134.80.144 向sina 的域名服务器请求sina 对应的IP 地址 A 717 114.134.80.144 192.168.0.100 回复sina 的IP 地址 A 8 24 192.168.0.100 192.168.0.101 将sina 的IP 地址回复给客户A3)从报文②可以得知,DNS 服务器所请求的根域名服务器IP 地址为多少答:IP地址为: 128.63.2.534)分析报文③,找出 DNS 服务器向哪一个.com 域名服务器发出请求报文并写出它的域名和IP 地址。
答: DNS向域名为: 发出请求,其IP为192.31.80.30步骤9:重复步骤6 到步骤8 的操作,将截获的结果保存为DNS2-S 和DNS2-C。
分析这次截获的结果与上次截获的结果有何不同,体会DNS 高速缓存的作用。
两次监测的数据流量有什么区别?为什么出现了这种差别?答:这次不需要发送这么多的报文,直接回复给客户端,在服务器的高速缓存中已有sina对应的IP地址。
高速缓存的作用:提高通讯效率,耗时少。
前一次的数据流量比较多,后一次的比较少,因为第一次的高速缓存中没有sina对应的IP地址,因此要递归不断的查询,比较耗流量,而第二次PC1高速缓存中有sina对应的IP地址,因此不需要再查询了,故比较省流量。