wireshark官方文档:https://gaia.cs.umass.edu/kurose_ross/wireshark.php
:(好烦呀每天,但不知道在烦什么,社媒刷多了是这样,少刷点儿手机吧球球了 )

1 nslookup命令

nslookup 可调用底层 DNS 服务,查询指定 DNS 服务器的 DNS 记录。运行时在命令行输入该命令,能查询 “Type=A” 记录(将主机名映射到 IP 地址) ,如查询 www.nyu.edu 的 IP 地址,还能通过 “-type=NS” 选项查询 “TYPE=NS” 记录,获取权威 DNS 服务器的主机名和 IP 地址。

查询非权威ip地址

C:\Users\Administrator>nslookup www.nyu.edu
服务器:  dns2.cug.edu.cn
Address:  202.114.200.251

非权威应答:
名称:    d1q5ku5vnwkd2k.cloudfront.net
Addresses:  2600:9000:2816:5c00:1:f7e2:cb00:93a1
          2600:9000:2816:a200:1:f7e2:cb00:93a1
          2600:9000:2816:7000:1:f7e2:cb00:93a1
          2600:9000:2816:7a00:1:f7e2:cb00:93a1
          2600:9000:2816:d600:1:f7e2:cb00:93a1
          2600:9000:2816:c000:1:f7e2:cb00:93a1
          2600:9000:2816:b000:1:f7e2:cb00:93a1
          2600:9000:2816:2800:1:f7e2:cb00:93a1
          13.33.183.62
          13.33.183.58
          13.33.183.26
          13.33.183.70
Aliases:  www.nyu.edu

查询权威IP地址

C:\Users\Administrator>nslookup -type=NS nyu.edu
服务器:  dns2.cug.edu.cn
Address:  202.114.200.251

非权威应答:
nyu.edu nameserver = ns4.nyu.edu
nyu.edu nameserver = ns2.nyu.org
nyu.edu nameserver = ns1.nyu.net

ns2.nyu.org     internet address = 128.122.0.76
ns1.nyu.net     internet address = 128.122.0.8
ns2.nyu.org     AAAA IPv6 address = 2607:f600:1001:6000::76
ns1.nyu.net     AAAA IPv6 address = 2607:f600:1001:6100::8

反向查询域名

C:\Users\Administrator>nslookup 128.119.245.12
服务器:  dns2.cug.edu.cn
Address:  202.114.200.251

名称:    gaia.cs.umass.edu
Address:  128.119.245.12

2 计算机上的DNS缓存

多数主机有 DNS 记录缓存(DNS resolver cache) 。应用程序解析主机名时,先检查缓存,若有记录则无需联系本地 DNS 服务器。缓存记录会超时移除,也可手动清除。不同系统有不同清除命令,windows:


C:\Users\Administrator>ipconfig /flushdns

Windows IP 配置

已成功刷新 DNS 解析缓存。

3 用 Wireshark 追踪 DNS

  1. 找到解析名称 gaia.cs.umass.edu 的第一条 DNS 查询消息。DNS 查询消息的跟踪中的数据包编号是多少?此查询消息是通过 UDP 还是 TCP 发送的?
    在这里插入图片描述
    数据包编号是771,是通过UDP发送的。
  2. 现在找到与初始 DNS 查询对应的 DNS 响应。DNS 响应消息的跟踪中的数据包号是多少?此响应消息是通过 UDP 还是 TCP 接收的?

    数据包编号是772,也是通过UDP接收的。
  3. DNS 查询消息的目标端口是什么?DNS 响应消息的源端口是什么?
    端口都是53。
  4. DNS 查询消息发送到哪个 IP 地址?
    202.114.200.250
  5. 检查 DNS 查询消息。此 DNS 消息包含多少个 “question”?它包含多少个 “answer” 答案?
    在这里插入图片描述
    1个question,0个answer
  6. 检查初始查询消息的 DNS 响应消息。此 DNS 消息包含多少个 “问题”?它包含多少个 “答案” 答案?
    同上

【疑问】为啥会进行两次dns查询?

  1. 基本文件 http://gaia.cs.umass.edu/kurose_ross/ 的网页引用了 http://gaia.cs.umass.edu/kurose_ross/header_graphic_book_8E_2.jpg 的图像对象,该对象与基本网页一样,位于 gaia.cs.umass.edu 上。基本文件 http://gaia.cs.umass.edu/kurose_ross/ 的初始 HTTP GET 请求的跟踪中的数据包编号是多少?为解析 gaia.cs.umass.edu 以便将此初始 HTTP 请求发送到 gaia.cs.umass.edu IP 地址而进行的 DNS 查询跟踪中的数据包号是多少?收到的 DNS 响应跟踪中的数据包号是多少?图像对象 http://gaia.cs.umass.edu/kurose_ross/header_graphic_book_8E2.jpg 的 HTTP GET 请求的跟踪中的数据包号是多少?为解析 gaia.cs.umass.edu 以便将第二个 HTTP 请求发送到 gaia.cs.umass.edu IP 地址而进行的 DNS 查询中的数据包号是多少?讨论 DNS 缓存如何影响最后一个问题的答案。

【不懂这里呀】先贴一个豆包的回复吧,有时间再来看
在进行 DNS 查询时,查询消息可能会被发送到默认本地 DNS 服务器的 IP 地址,也可能是其他指定的 DNS 服务器 IP 地址,这取决于具体的网络配置和操作场景。
默认本地 DNS 服务器的情况:在大多数常规网络配置下,当使用 nslookup 等工具进行 DNS 查询,且未指定特定 DNS 服务器时,DNS 查询消息会被发送到默认本地 DNS 服务器的 IP 地址。例如,在文档中提到在 University of Massachusetts(UMass)校园的 newworld.cs.umass.edu 主机上运行 nslookup 查询 www.nyu.edu 的 IP 地址时,查询消息被发送到的 IP 地址 128.119.240.1,这就是该主机所在网络的默认本地 DNS 服务器(primo.cs.umass.edu )的 IP 地址。这是因为本地设备在网络配置中会被分配一个默认的本地 DNS 服务器地址,这个地址通常由网络管理员设置,或者通过 DHCP(动态主机配置协议)自动获取。当设备需要进行 DNS 查询时,会首先尝试向这个默认的本地 DNS 服务器发送查询请求。
指定其他 DNS 服务器的情况:如果在使用 nslookup 等工具时指定了特定的 DNS 服务器,那么 DNS 查询消息就会被发送到指定的 DNS 服务器 IP 地址。例如,在某些特殊的网络测试或配置场景下,用户可能会指定使用其他公共 DNS 服务器(如 Google 的 8.8.8.8、Cloudflare 的 1.1.1.1 等)来进行查询,此时查询消息就不会发送到默认本地 DNS 服务器,而是发送到用户指定的这些 DNS 服务器的 IP 地址。此外,在一些企业网络环境中,为了实现特定的网络管理策略或提高 DNS 查询效率,管理员也可能会配置设备使用特定的非默认本地 DNS 服务器进行查询 。

更多推荐