1.nslookup
运行 nslookup
以获取一个亚洲的 Web 服务器的 IP 地址。该服务器的 IP 地址是什么?
例子 1:查看 baidu.com 对应的 IP 地址
[root@iZbp18vd1p2tytbwn5vgaqZ ~]# nslookup baidu.com
Server: 100.100.2.136
Address: 100.100.2.136#53
Non-authoritative answer: # 非权威应答
Name: baidu.com
Address: 220.181.38.148 # IP地址
Name: baidu.com
Address: 220.181.38.251
可以看出,baidu.com 对应有两个 IP 地址,分别是 220.181.38.148 和 220.181.38.251,通过把两个 IP 地址输入浏览器会跳转到百度页面。
例子 2:查看 hamstercoder.top(我的个人网站)对应的 IP 地址
[root@iZbp18vd1p2tytbwn5vgaqZ ~]# nslookup hamstercoder.top
Server: 100.100.2.136
Address: 100.100.2.136#53
Non-authoritative answer: # 非权威应答
hamstercoder.top canonical name = hamstercoder-top-idvhr8b.qiniudns.com.
hamstercoder-top-idvhr8b.qiniudns.com canonical name = dt003.china.line.qiniudns.com.
dt003.china.line.qiniudns.com canonical name = tinychinacdnweb.qiniu.com.w.kunlunno.com.
Name: tinychinacdnweb.qiniu.com.w.kunlunno.com
Address: 114.80.187.104
Name: tinychinacdnweb.qiniu.com.w.kunlunno.com
Address: 114.80.187.102
Name: tinychinacdnweb.qiniu.com.w.kunlunno.com
Address: 114.80.187.100
Name: tinychinacdnweb.qiniu.com.w.kunlunno.com
Address: 114.80.187.101
Name: tinychinacdnweb.qiniu.com.w.kunlunno.com
Address: 114.80.187.103
Name: tinychinacdnweb.qiniu.com.w.kunlunno.com
Address: 114.80.187.107
Name: tinychinacdnweb.qiniu.com.w.kunlunno.com
Address: 114.80.187.106
Name: tinychinacdnweb.qiniu.com.w.kunlunno.com
Address: 114.80.187.105
Name: tinychinacdnweb.qiniu.com.w.kunlunno.com
Address: 240e:e9:a006:5:3::3fc
Name: tinychinacdnweb.qiniu.com.w.kunlunno.com
Address: 240e:e9:a006:5:3::3fb
因为我之前在七牛云建立了图床,所以使用到了二级域名 hamstercoder-top-idvhr8b.qiniudns.com,所以查询出来的 IP 地址很多,都是二级域名对应的七牛云的服务器。
运行 nslookup
来确定一个欧洲的大学的权威 DNS 服务器。
[root@iZbp18vd1p2tytbwn5vgaqZ ~]# nslookup -type=NS ox.ac.uk
Server: 100.100.2.136
Address: 100.100.2.136#53
Non-authoritative answer: # 非权威应答
ox.ac.uk nameserver = dns1.ox.ac.uk.
ox.ac.uk nameserver = auth5.dns.ox.ac.uk.
ox.ac.uk nameserver = dns0.ox.ac.uk.
ox.ac.uk nameserver = dns2.ox.ac.uk.
ox.ac.uk nameserver = ns2.ja.net.
ox.ac.uk nameserver = auth4.dns.ox.ac.uk.
ox.ac.uk nameserver = auth6.dns.ox.ac.uk.
Authoritative answers can be found from: # 权威应答
ns2.ja.net internet address = 193.63.105.17
dns0.ox.ac.uk internet address = 129.67.1.190
dns1.ox.ac.uk internet address = 129.67.1.191
dns2.ox.ac.uk internet address = 163.1.2.190
auth4.dns.ox.ac.uk internet address = 45.33.127.156
auth5.dns.ox.ac.uk internet address = 93.93.128.67
auth6.dns.ox.ac.uk internet address = 185.24.221.32
ns2.ja.net has AAAA address 2001:630:0:45::11
auth4.dns.ox.ac.uk has AAAA address 2600:3c00::f03c:91ff:fe96:beac
auth5.dns.ox.ac.uk has AAAA address 2a00:1098:0:80:1000::10
auth6.dns.ox.ac.uk has AAAA address 2a02:2770:11:0:21a:4aff:febe:759b
运行 nslookup
,使用问题 2 中一个已获得的 DNS 服务器,来查询 Yahoo! 邮箱的邮件服务器。它的 IP 地址是什么?
2. ipconfig
使用 ifconfig
命令查看 Linux 系统的 IP 地址
[root@iZbp18vd1p2tytbwn5vgaqZ ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.26.20.11 netmask 255.255.192.0 broadcast 172.26.63.255
inet6 fe80::216:3eff:fe0e:69a8 prefixlen 64 scopeid 0x20<link>
ether 00:16:3e:0e:69:a8 txqueuelen 1000 (Ethernet)
RX packets 7000071 bytes 5035684577 (4.6 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5024461 bytes 882966590 (842.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 16 bytes 624 (624.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16 bytes 624 (624.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
使用 ipconfig
查看 Windows 系统的 IP 地址
PS C:\Users\*****\Desktop> ipconfig
无线局域网适配器 WLAN:
连接特定的 DNS 后缀 . . . . . . . :
IPv6 地址 . . . . . . . . . . . . : 2001:da8:7000:6726::1709
本地链接 IPv6 地址. . . . . . . . : fe80::e092:c552:7f35:4dfc%15
IPv4 地址 . . . . . . . . . . . . : 10.21.233.180
子网掩码 . . . . . . . . . . . . : 255.255.192.0
默认网关. . . . . . . . . . . . . : fe80::7625:8aff:fee3:a825%15
10.21.254.254
3. 使用Wireshark追踪DNS
实验一
实验描述:
实验一:现在,我们熟悉 nslookup
和 ipconfig
,我们准备好了一些正经的事情。首先让我们捕获一些由常规上网活动生成的 DNS 数据包。实验步骤如下:
- 使用
*ipconfig*
清空主机中的 DNS 缓存。 - 打开浏览器并清空浏览器缓存。 (若使用 Internet Explorer,转到工具菜单并选择 Internet 选项;然后在常规选项卡中选择删除文件。)
- 打开 Wireshark,然后在过滤器中输入
ip.addr==your_IP_address
,您可以先使用*ipconfig*
获取你的 IP地址。此过滤器将删除既从你主机不发出也不发往你主机的所有数据包。 - 在 Wireshark 中启动数据包捕获。
- 使用浏览器访问网页: http://www.ietf.org
- 停止数据包捕获。
实验问题和答案:
找到 DNS 查询和响应消息。它们是否通过 UDP 或 TCP 发送?
答:通过 UDP 发送
DNS 查询消息的目标端口是什么? DNS 响应消息的源端口是什么?
答:端口都是 53
DNS 查询消息发送到哪个 IP 地址?使用 ipconfig
来确定本地 DNS 服务器的 IP 地址。这两个 IP 地址是否相同?
答:查询消息发送到 10.5.5.1,与本地 DNS 服务器的 IP 地址相同
答:查询消息发送到 10.5.5.1,与本地 DNS 服务器的 IP 地址相同
检查 DNS 查询消息。DNS 查询是什么 “Type”的?查询消息是否包含任何 “answers”?
答:DNS 查询是 Type, A 查询消息不包含任何 “answers”
检查 DNS 响应消息。提供了多少个 “answers”?这些答案具体包含什么?
Answers
www.ietf.org: type CNAME, class IN, cname www.ietf.org.cdn.cloudflare.net
www.ietf.org.cdn.cloudflare.net: type A, class IN, addr 104.20.1.85
www.ietf.org.cdn.cloudflare.net: type A, class IN, addr 104.20.0.85
考虑从您主机发送的后续 TCP SYN 数据包。 SYN 数据包的目的 IP 地址是否与 DNS 响应消息中提供的任何 IP地址相对应?
答:后续TCP SYN数据包与 DNS 响应消息中提供的 104.20.1.85 对应
这个网页包含一些图片。在获取每个图片前,您的主机是否都发出了新的 DNS 查询?
答:并没有发出新的 DNS 查询
实验二
实验描述:
现在让我们玩玩nslookup
,实验步骤如下:
- 启动数据包捕获。
- 使用
nslookup
查询 www.mit.edu - 停止数据包捕获。
你应该得到类似下图所示的捕获结果:
我们从上面的屏幕截图看到,nslookup
实际上发送了三个 DNS 查询,并收到了三个 DNS 响应。只考虑本次实验相关结果,在回答以下问题时,请忽略前两组查询/响应,因为 nslookup
的一些特殊性,这些查询通常不是由标准网络应用程序生成的。您应该专注于最后一个查询和响应消息。
实验问题和答案:
DNS 查询消息的目标端口是什么? DNS 响应消息的源端口是什么?
答:端口都是 53
DNS 查询消息的目标 IP 地址是什么?这是你的默认本地 DNS 服务器的 IP 地址吗?
答:DNS 查询消息的目标 IP 地址是 10.5.5.1,是默认本地 DNS 服务器的 IP 地址
检查 DNS 查询消息。DNS 查询是什么 “Type” 的?查询消息是否包含任何 “answers”?
答:Type A 查询消息不包含任何 “answers”
检查 DNS 响应消息。提供了多少个 “answers”?这些答案包含什么?
Answers
www.mit.edu: type CNAME, class IN, cname www.mit.edu.edgekey.net
www.mit.edu.edgekey.net: type CNAME, class IN, cname e9566.dscb.akamaiedge.net
e9566.dscb.akamaiedge.net: type A, class IN, addr 23.75.8.201
提供屏幕截图
实验三
实验描述:
现在重复上一个实验,但换成以下命令:nslookup -type=NS mit.edu
实验问题和答案:
DNS 查询消息发送到的 IP 地址是什么?这是您的默认本地 DNS 服务器的 IP 地址吗?
答:DNS 查询消息的目标 IP 地址是 10.5.5.1,是默认本地 DNS 服务器的 IP 地址
检查 DNS 查询消息。DNS 查询是什么 “Type” 的?查询消息是否包含任何 “answers”?
答:Type NS 查询消息不包含任何 “answers”
检查 DNS 响应消息。响应消息提供的 MIT 域名服务器是什么?此响应消息还提供了 MIT 域名服务器的 IP 地址吗?
mit.edu nameserver = usw2.akam.net
mit.edu nameserver = use2.akam.net
mit.edu nameserver = asia1.akam.net
mit.edu nameserver = asia2.akam.net
mit.edu nameserver = ns1-173.akam.net
mit.edu nameserver = use5.akam.net
mit.edu nameserver = ns1-37.akam.net
mit.edu nameserver = eur5.akam.net
响应消息没有提供 MIT 域名服务器的 IP 地址
提供屏幕截图。 实验图像
实验四
实验描述:
现在重复上一个实验,但换成以下命令:nslookup www.aiit.or.kr bitsy.mit.edu
实验问题和答案:
DNS 查询消息发送到的 IP 地址是什么?这是您的默认本地 DNS 服务器的IP地址吗?如果不是,这个 IP 地址是什么?
答:DNS 查询消息先发送到默认本地 DNS 服务器 10.5.5.1,查询 bitsy.mit.edu 的 IP 地址,查询消息再发送到 IP地址 18.0.72.3,是 bitsy.mit.edu 的 IP 地址。
检查 DNS 查询消息。DNS 查询是什么 “Type” 的?查询消息是否包含任何 “answers”?
答:Type A 查询消息不包含任何 “answers”
检查 DNS 响应消息。提供了多少个 “answers”?这些答案包含什么?
Answers
www.aiit.or.kr: type A, class IN, addr 58.229.6.225
提供屏幕截图