wireshark实验三:DNS

一,实验目的

掌握使用NSLOOKUP命令进行域名解析

掌握IPCONFIG命令的使用

学会用Wireshark的的掌握DNS报文格式

二,实验环境

客户机:安装有Wireshark的的的的的Windows7及以上系统

三,实验原理

1,概念

DNS(域名系统,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP协议之上,使用端口号53。

DNS本质是用于TCP / IP应用程序的数据库,该数据库中记录了域名和IP的对应关系,同时也是一种用于客户端和服务端通讯的应用层的计算机网络协议。计算机要将域名解析成IP(或者将IP反解成域名),需要先去询问DNS服务器的数据库,查询得到域名和IP的对应关系,才能开始使用IP地址进行计算机通讯。 

2,DNS阶层架构

DNS系统最顶端是根域(。),下一级是以国家/地区或组织为分类的顶级域名,再下一级为个人或组织在网上组册的二级域名,再往下为二级域名派生的子域,最后为DNS域名最左侧的标签标识的计算机主机名。这就是DNS的阶层式分布结构。

3,域名到IP的解析流程  

       当某一应用程序或者机器主机需要把主机名解析为IP地址时,该应用进程或者机器主机就调用解析程序,此时应用程序或机器主机称为客户端,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器。本地域名服务器在本地缓存中查找到域名后,把对应的IP地址放在响应报文中返回给客户端。此时应用程序或机器主机获得目的主机的IP地址后即可与之进行通信。    

       若本地域名服务器在本地缓存中没有查找到缓存记录,此时域名服务器就相当于客户端(替代主机查询),并向其他域名服务器发出查询请求。直至找到能够回答该请求的域名服务器为止。

四,实验

1,nslookup将将

在这个实验中,我们将使用NSLOOKUP工具,这个工具在的Linux / Unix /微软平台中都可用.nslookup命令用于查询DNS的记录,查看域名解析是否正常。

操作一:nslookup www.suda.edu.cn

上图1为提供服务的DNS服务器,图2是查询域名对应的IP地址。

操作二:nslookup -type = NS www.suda.edu.cn

通过-type = NS要求获取名字服务器记录

操作三:nslookup www.suda.edu.cn 8.8.8.8

此例,希望将查询发送到DNS服务器8.8.8.8而不是默认的DNS服务器。

上述三个例子描述了NSLOOKUP命令的多种格式,它的一般语法是:

nslookup -option1 -option2 host-to-find dns-server

2,IPCONFIG

ipconfig(windows)与ifconfig(Linux / Unix)是主机中调试网络问题时最实用的小程序,它不仅能够显示你当前的TCP / IP信息,包括IP地址,DNS服务器地址,以及适配器类型等。

如要获取有关主机的所有信息,输入:

ipconfig / all

同样的,IPCONFIG也能够管理存储在主机中的DNS信息主机可以缓存最近获取的DNS记录,如果要查询这些缓存,请输入:

ipconfig / displaydns

也可以通过下面的命令清除缓存:

ipconfig / flushdns

3,使用的Wireshark追踪DNS

现在我们熟悉了NSLOOKUP与IPCONFIG命令,接下来,准备借助于Wireshark的来捕获网上浏览时产生的DNS数据包。

(1)通过IPCONFIG来清空DNS缓存

(2)清空浏览器缓存,运行浏览器

(3)打开的Wireshark,并在显示过滤字段处输入:ipa.addr ==你的IP地址,这样过滤器将会把与你主机无数据交换隐藏。

(4)的Wireshark开始捕获数据包

(5)浏览器中输入:HTTP://www.ietf.org

(6)关闭数据捕捉

完成上述操作后,尝试回答下列问题:

<1>根据DNS查询及响应消息,数据包采用的是UDP还是TCP协议?

<2> DNS查询消息的目标端口与DNS响应消息的源端口是多少?

<3> DNS查询消息发送的目的IP是什么?通过IPCONFIG来确定当前DNS服务器的IP地址。两个IP地址一样吗?

<4>检查DNS查询消息,DNS查询类型是什么?查询消息中包含有任何“回答”吗?

<5>检查DNS响应消息,有多少个“回答”?每个回答包含什么内容?

<6>思考一下主机发送的后续TCP SYN数据包.SYN数据包的目的IP地址是否对应于DNS响应消息中提供的IP地址?

<7>这个网页包含有一些图像。在检索每一个图像之前,你的主机发出新的DNS查询吗?

接下来,我们通过wireshark捕获nslookup数据包

(1)开始捕获数据包

(2)运行 nslookup www.mit.edu

(3)停止数据包捕获

在wireshark窗口中捕获三个DNS查询以及三个DNS响应。我们只要关注最后一组查询与响应的消息。请回答下列问题:

<8>DNS查询消息的目标端口是什么?DNS响应消息的源端口是什么?

<9>DNS查询消息的目的IP是什么?是不是你默认的本地DNS服务器IP地址?

<10>检查DNS查询信息,DNS查询中“type”字段的值是什么?它的"answer"字段包含有内容吗?

<11>检查DNS响应消息,它有多少个"answer",每个answer包含内容是什么?

换一个命令,再次回答上述问题:

nslookup www.aiit.or.kr bitsy.mit.edu

<12>DNS查询消息的目标端口是什么?DNS响应消息的源端口是什么?

<13>DNS查询消息的目的IP是什么?是不是你默认的本地DNS服务器IP地址?

<14>检查DNS查询信息,DNS查询中“type”字段的值是什么?它的"answer"字段包含有内容吗?

<15>检查DNS响应消息,它有多少个"answer",每个answer包含内容是什么?

猜你喜欢

转载自blog.csdn.net/wz_cow/article/details/81545583