admin管理员组

文章数量:1586681

1 nslookup

nslookup工具是最基本的操作,它允许运行该工具的主机查询任何指定的DNS服务器的DNS记录。查询的DNS服务器可以是根DNS服务器、顶级域DNS服务器、权威DNS服务器和中间DNS服务器(具体定义请参见教科书)。nslookup向指定的DNS服务器发送DNS查询请求,并接收来自该DNS服务器的DNS应答,并显示查询结果。

1.1 实验

  • 第一条命令:nslookup www.mit.edu

    这个命令的意思是请将主机www.mit.eduIP地址发送给我。如图所示,该命令的响应提供了两条信息:(1)提供答案的DNS服务器的名称和IP地址;(2)答案本身,即www.mit.edu的主机名和IP地址。
  • 第二个命令:nslookup –type=NS mit.edu

    在这个例子中,我们提供了选项-type=NS和域名mit.edu。这会导致nslookup向缺省的本地DNS服务器发送一个type-NS记录查询。查询是说,请发送给我mit.edu的权威DNS的主机名。(当不使用type选项时,nslookup使用默认值,即查询type A记录。)在上面的截图中显示的答案,首先指出提供这个答案的DNS服务器(这是默认的本地DNS服务器)以及八个MIT名称服务器。这些服务器中的每一个都是MIT校园主机的权威DNS服务器。但是,nslookup也表明这个答案不是权威的,这意味着这个答案来自某个服务器的缓存,而不是权威的MIT DNS服务器。最后,答案还包括麻省理工学院权威DNS服务器的IP地址。(尽管nslookup生成的type-NS查询没有明确询问IP地址,但本地DNS服务器免费返回这些地址,nslookup显示结果。)
  • 第三个命令:nslookup www.aiit.or.kr bitsy.mit.edu

    在这个例子中,我们指出我们希望将查询发送到DNS服务器bitsy.mit.edu,而不是发送到默认的DNS服务器(DNS -prime.poly.edu)。因此,查询和回复事务直接发生在查询主机和bitsy.mit.edu之间。在这个例子中,DNS服务器bitsy.mit.edu提供了信息技术院(韩国)的网络服务器www.aiit.or.kr的IP地址。
  • 一般语法:nslookup –option1 –option2 host-to-find dns-server

1.2 QA

  • 运行nslookup以获取一个亚洲的Web服务器的IP地址。该服务器的IP地址是什么?
  • 运行nslookup来确定一个欧洲的大学的权威DNS服务器。
  • 运行nslookup,使用问题2中一个已获得的DNS服务器,来查询Yahoo邮箱的邮件服务器。它的IP地址是什么?

2 ipconfig

2.1 实验

  • ipconfig /all:显示该主机的所有信息
  • ipconfig/displaydns:了解到主机最近缓存获得的DNS记录
  • ipconfig/flushdns:清除缓存

3 使用Wireshark追踪DNS

3.1 实验

清除DNS缓存,清除浏览器缓存;打开Wireshark,输入ip.addr == your_IP_address,您可以通过ipconfig获取your_IP_address。此筛选器删除既不是发往主机也不是以主机为目标的所有包。开始抓包,浏览器访问http://www.ietf,停止抓包。

3.2 QA

  • 找到DNS查询和响应消息。它们是否通过UDPTCP发送?
  • DNS查询消息的目标端口是什么? DNS响应消息的源端口是什么?
  • DNS查询消息发送到哪个IP地址?使用ipconfig来确定本地DNS服务器的IP地址。这两个IP地址是否相同?
    本地DNSIP相同。

  • 检查DNS查询消息。DNS查询是什么"Type"的?查询消息是否包含任何"answers"?

    查询消息不包含answers
  • 检查DNS响应消息。提供了多少个"answers"?这些答案具体包含什么?
  • 考虑从您主机发送的后续TCP SYN数据包。 SYN数据包的目的IP地址是否与DNS响应消息中提供的任何IP地址相对应?


    DNS返回IP时,后续发送的TCP SYN数据包的目的IP地址和DNS响应消息中提高的源IP地址相对应。
  • 这个网页包含一些图片。在获取每个图片前,您的主机是否都发出了新的DNS查询?
    没有,只有部分重新发送新的DNS查询 。

4 nslookup结合WireShark

4.1 实验

清除DNS缓存,启动WireShark抓包,使用nslookup查询 www.mit.edu,停止抓包。

4.2 QA

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

  • DNS查询消息的目标IP地址是什么?这是你的默认本地DNS服务器的IP地址吗?

    是。
  • 检查DNS查询消息。DNS查询是什么"Type"的?查询消息是否包含任何"answers"?

    不包含任何answers
  • 检查DNS响应消息。提供了多少个"answers"?这些答案包含什么?

5 实验4续

5.1 实验

清除DNS缓存,启动WireShark抓包,使用nslookup查询 nslookup -type=NS mit.edu,停止抓包。

5.2 QA

  • DNS查询消息发送到的IP地址是什么?这是您的默认本地DNS服务器的IP地址吗?

    是。
  • 检查DNS查询消息。DNS查询是什么"Type"的?查询消息是否包含任何"answers"?

    不包含。
  • 检查DNS响应消息。响应消息提供的MIT域名服务器是什么?此响应消息还提供了MIT域名服务器的IP地址吗?
    MIT域名服务器如下:

    不包含IP地址。

6 实验4续

6.1 实验

清除DNS缓存,启动WireShark抓包,使用nslookup查询 www.aiit.or.kr bitsy.mit.edu,停止抓包。

6.2 QA

后续QA和实验4、5差不多。

本文标签: Wiresharkdns