《计算机网络 您所在的位置:网站首页 邮箱端口号是什么 《计算机网络

《计算机网络

2023-11-23 06:10| 来源: 网络整理| 查看: 265

实验(WireShark实验之DNS)描述

如书中第2.5节所述,域名系统(DNS)将主机名转换为IP地址,在互联网基础架构中发挥关键作用。 在本实验中,我们将仔细查看DNS在客户端的细节。回想一下,客户端在DNS中的角色相对简单——客户端向其本地DNS服务器发送请求,并接收一个响应。如书中的图2.21和2.22所示,由于DNS分层服务器之间相互通信,可以递归地或迭代地解析客户端的DNS查询请求,而大多数操作是不可见的。然而,从DNS客户端的角度来看,协议非常简 ——将查询指向为本地DNS服务器,并从该服务器接收到响应。 在开始本实验之前,您可能需要阅读书中的第2.5节来了解DNS。另外,您可能需要查看关于本地DNS服务器,DNS缓存,DNS记录和消息,以及DNS记录中的TYPE字段的资料。

1. nslookup

在本实验中,我们将大量使用nslookup工具,这个工具在现在的大多数Linux/Unix和Microsoft平台中都有。要在Linux/Unix中运行nslookup,您只需在命令行中键入nslookup命令即可。 要在Windows中运行,请打开命令提示符并在命令行上运行nslookup。 在这是最基本的操作,nslookup工具允许主机查询任何指定的DNS服务器的DNS记录。DNS服务器可以是根DNS服务器,顶级域DNS服务器,权威DNS服务器或中间DNS服务器。要完成此任务,nslookup将DNS查询发送到指定的DNS服务器(默认为本地DNS服务器),然后接收DNS回复,并显示结果。

第一个命令: nslookup www.mit.edu 在这里插入图片描述 这个命令是说,通过nslookup我想知道www.mit.edu这个URL地址的一些信息(IP地址等等)。

第二个命令: nslookup -type=NS mit.edu 在这里插入图片描述 在这个例子中,我们添加了选项-type=NS和域名mit.edu。这将使得nslookup将NS记录发送到默认的本地DNS服务器。换句话说,“请给我发送mit.edu的权威DNS的主机名” (当不使用-type选项时,nslookup使用默认值,即查询A类记录。)

第三个命令(我这里请求超时了): 在这里插入图片描述 在这个例子中,我们希望将查询请求发送到DNS服务器bitsy.mit.edu ,而不是默认的DNS服务器(dns-prime.poly.edu)。因此,查询和响应事务直接发生在我们的主机和 bitsy.mit.edu 之间。在这个例子中,DNS服务器 bitsy.mit.edu 提供主机 www.aiit.or.kr 的IP地址,它是高级信息技术研究所(韩国)的Web服务器。

nslookup命令的一般语法: nslookup -option1 -option2 host-to-find dns-server

一般来说,nslookup可以不添加选项,或者添加一两个甚至更多选项。 正如我们在上面的示例中看到的,dns-server也是可选的;如果这项没有提供,查询将发送到默认的本地DNS服务器。

现在我们提供了总览了nslookup(上面的都是官方文档中的内容,只是查询结果是我自己跑出来的),现在是你自己驾驭它的时候了。执行以下操作(并记下结果):

运行nslookup以获取一个亚洲的Web服务器的IP地址。该服务器的IP地址是什么? 答: 获取清华大学的Web服务器的IP地址:166.111.4.100 上面的101.198.199.200是本地DNS服务器 在这里插入图片描述

运行nslookup来确定一个欧洲的大学的权威DNS服务器。 答: 获取剑桥大学的Web服务器IP地址:128.232.132.8 在这里插入图片描述 获取剑桥大学使用的权威DNS服务器名称(按道理应该在非权威应答后面,显示很多权威应答和对应的IP地址的,但是这里我也搞不清) 在这里插入图片描述

运行nslookup,使用问题2中一个已获得的DNS服务器,来查询Yahoo!邮箱的邮件服务器。它的IP地址是什么? 答: 我这里是直接查询(没有问题2已获得的DNS服务器来查询)了新浪的邮箱服务器IP地址:123.126.157.222 在这里插入图片描述 直接查询雅虎的邮箱服务器IP地址:74.6.160.138 在这里插入图片描述

注:(我的主观方法,不一定绝对地正确) 如果对查询到的IP地址不信任(就是查出来好多IP地址,但是不会看,可以通过查看所在地来判断), 例如,我对上面雅虎的邮箱服务器IP地址不确定,我就百度发现是美国的,那应该就没问题了。 在这里插入图片描述

2. ipconfig

ipconfig(对于Windows)和ifconfig(对于Linux / Unix)是主机中最实用的程序,尤其是用于调试网络问题时。这里我们只讨论ipconfig,尽管Linux / Unix的ifconfig与其非常相似。 ipconfig可用于显示您当前的TCP/IP信息,包括您的地址,DNS服务器地址,适配器类型等。

例如,您只需进入命令提示符,输入: ipconfig/all 关于该主机的所有信息都显示出来了: 在这里插入图片描述

ipconfig对于管理主机中存储的DNS信息也非常有用。 在第2.5节中,我们了解到主机可以缓存最近获得的DNS记录(也就是比如最近已经访问过一个网站,也就是通过DNS查询过一次IP地址,那么立即访问的话,就可以直接从本地的DNS缓存中获得,提高了速度,也减缓了远端DNS服务器的压力)。

要查看这些缓存记录及其信息,输入: ipconfig/displaydns 在这里插入图片描述 比如我最近访问了百度,就保存了百度的IP地址,下一次访问就可以直接从本地得到IP地址了。

要清除缓存,输入: ipconfig/flushdns 在这里插入图片描述 可以很明显的看到百度的缓存信息已经被清除了。

3. 使用Wireshark追踪DNS

现在,我们熟悉nslookup和ipconfig,我们准备好了一些正经的事情。首先让我们捕获一些由常规上网活动生成的DNS数据包。

使用ipconfig清空主机中的DNS缓存。打开浏览器并清空浏览器缓存。打开Wireshark,然后在过滤器中输入ip.addr==your_IP_address,您可以先使用ipconfig获取你的IP地址。此过滤器将删除既从不你主机发出也不发往你主机的所有数据包(也就显示出来的都是,从本地发出or从外地发往本地的数据包)。在Wireshark中启动数据包捕获。使用浏览器访问网页:http://www.ietf.org停止数据包捕获。

这里设置的过滤器是http: 在这里插入图片描述

这是过滤器为ip.addr==192.168.43.189,后面的为我的电脑的IPv4地址: 在这里插入图片描述

回答问题:

找到DNS查询和响应消息。它们是否通过UDP或TCP发送? 答: UDP:在这里插入图片描述 在这里插入图片描述

DNS查询消息的目标端口是什么? DNS响应消息的源端口是什么? 答: 源端口:Src Port: 53 目标端口:51508 在这里插入图片描述

DNS查询消息发送到哪个IP地址?使用ipconfig来确定本地DNS服务器的IP地址。这两个IP地址是否相同? 答: DNS查询消息发送到的IP地址:101.198.199.200 在这里插入图片描述 本地DNS服务器的IP地址:101.198.199.200 在这里插入图片描述 注:

参考答案中说两个DNS服务器(远端or本地)IP地址是不相等的,但是我查到的是一样的(而且我也清除了浏览器和本地的DNS缓存),【待理解】。

检查DNS查询消息。DNS查询是什么"Type"的?查询消息是否包含任何"answers"? 答: 【之前不会看,然后又会了(但是没有保存,懒得重新搞了),就是在Domain Name System里面】

检查DNS响应消息。提供了多少个"answers"?这些答案具体包含什么? 答: 【解释如上】

考虑从您主机发送的后续TCP SYN数据包。 SYN数据包的目的IP地址是否与DNS响应消息中提供的任何IP地址相对应? 答:后续发送的TCP SYN数据包的目的IP地址 和 DNS响应消息中提高的源IP地址 相对应。

这个网页包含一些图片。在获取每个图片前,您的主机是否都发出了新的DNS查询? 答: 没有,只有部分重新发送新的DNS查询 。

4. 结合nslookup+WireShark 启动数据包捕获。使用nslookup查询 www.mit.edu停止数据包捕获。

将会看到如下的结果(设置过滤器为dns): 在这里插入图片描述 nslookup实际上发送了三个DNS查询,并对应的收到了三个DNS响应。 只考虑本次实验相关结果,在回答以下问题时,请忽略前两组查询/响应,因为nslookup的一些特殊性,这些查询通常不是由标准网络应用程序生成的。您应该专注于最后一个查询和响应消息。

DNS查询消息的目标端口是什么? DNS响应消息的源端口是什么? 答: 源端口:51926 目标端口:25 在这里插入图片描述

DNS查询消息的目标IP地址是什么?这是你的默认本地DNS服务器的IP地址吗? 答: 目标IP地址:101.198.199.200,就是我本地的DNS服务器IP地址(所以我好奇,不应该是查询到了远端的DNS服务器吗)。 在这里插入图片描述

检查DNS查询消息。DNS查询是什么"Type"的?查询消息是否包含任何"answers"? 答: 【解释如上】

检查DNS响应消息。提供了多少个"answers"?这些答案包含什么? 答: 【解释如上】

提供屏幕截图。 答: 以上。

现在重复上一个实验,但换成以下命令: nslookup -type=NS mit.edu (从第7行开始) 在这里插入图片描述

回答下列问题:

DNS查询消息发送到的IP地址是什么?这是您的默认本地DNS服务器的IP地址吗? 答: 目标IP地址:101.198.199.200,也是我本地的DNS服务器IP地址 在这里插入图片描述

检查DNS查询消息。DNS查询是什么"Type"的?查询消息是否包含任何"answers"? 答: 【解释如上】

检查DNS响应消息。响应消息提供的MIT域名服务器是什么?此响应消息还提供了MIT域名服务器的IP地址吗? 答: 【解释如上】

提供屏幕截图。 答: 以上。

现在继续重复上上个实验,但换成以下命令: nslookup www.aiit.or.kr bitsy.mit.edu 注:

DNS第一次查询消息发送的IP地址是默认的本地域名服务器,查询到bitsy.mit.edu的IP地址:18.72.0.3,之后向这个IP地址发送查询消息,但失败了,因为MIT的这个DNS服务器已停用 在这里插入图片描述 在这里插入图片描述

回答下列问题:

DNS查询消息发送到的IP地址是什么?这是您的默认本地DNS服务器的IP地址吗?如果不是,这个IP地址是什么? 答: 发送到的IP地址:101.198.198.198,不是我默认的本地DNS服务器的IP地址,这是默认的本地域名服务器, 在这里插入图片描述

检查DNS查询消息。DNS查询是什么"Type"的?查询消息是否包含任何"answers"? 答: 【解释如上】

检查DNS响应消息。提供了多少个"answers"?这些答案包含什么? 答: 【解释如上】

提供屏幕截图。 答: 以上。

参考资料:

https://github.com/moranzcw/Computer-Networking-A-Top-Down-Approach-NOTES



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有