一:实验目的
1:掌握DNS缓存的清除方法,了解DNS缓存的作用和影响。
2:熟悉nslookup和dig等DNS查询工具的使用,理解DNS查询的基本原理和过程。
3:通过抓包和分析,深入了解DNS查询和响应消息的格式、内容以及传输方式,增强网络协议和网络安全的理解。
4:了解DNS劫持和污染的概念和危害,提高网络安全意识。
5:掌握常用免费DNS的使用方法,了解DNS服务的选择和配置对网络性能和安全的影响。
二:实验仪器设备及软件
硬件:Windows操作系统的计算机等。
软件:命令提示符、记事本、wireshark等。
三:实验方案
在cmd窗口下执行相关的DNS命令,同时在wireshark中进行抓包操作,最后分析实验结果。
四:实验步骤
【1】DNS命令联系
1:清除windows的dns缓存。
执行命令:ipconfig/flushdns,运行结果如下图所示。
2:通过nslookup,解析www.tsinghua.edu.cn。
执行命令:nslookup www.tsinghua.edu.cn,运行结果如下图所示。
3:使用-type=NS 选项解析www.tsinghua.edu.cn,使用其中一个已获得的 DNS 服务器,来查询北京科技大学邮箱的邮件服务器,它的IP地址是什么?(递归查询)。
执行命令:nslookup -type=NS www.tsinghua.edu.cn,运行结果如下图所示。
可以发现,已获得的DNS服务器为:dns2.edu.cn。通过该DNS服务器查询北京科技大学邮箱的邮件服务器,需要执行命令:nslookup mail.ustb.edu.cn dns2.edu.cn,运行结果如下图所示。
可以发现,北京科技大学邮箱的邮件服务器有3个,分别是dns.ustb.edu.cn、dns2.ustb.edu.cn、dns4.ustb.edu.cn。
4:使用-type=NS选项解析ox.ac.uk,使用其中一个已获得的 DNS 服务器,来查询sina邮箱的邮件服务器,它的IP地址是什么?查不到的话换一个DNS 服务器。(递归查询)
执行命令:nslookup -type=NS ox.ac.uk,运行结果如下图所示。
可以发现,已获得的DNS服务器有6个,分别是auth4.dns.ox.ac.uk、auth6.dns.ox.ac.uk、dns1.dns.ox.ac.uk、auth5.dns.ox.ac.uk、dns0.dns.ox.ac.uk、dns2.dns.ox.ac.uk。
执行命令:nslookup [xxx] mail.sina.com.cn,可以查询sina邮箱的邮件服务器。其中,[xxx]为上述已获得的DNS服务器。
使用第一个DNS服务器进行查询,运行结果如下图所示。
可以发现,sina邮箱的邮件服务器为:202.108.0.139。
【2】DNS抓包与分析
1:启动抓包软件,然后用命令“dig +trace 网址”,追踪DNS解析过程并回答下列问题。(windows下的dig命令需下载)
执行命令:dig trace baidu.com,通过wireshark所抓包的内容如下图所示。
1)找到DNS查询和响应消息。它们是否通过UDP或TCP发送?
DNS查询消息,如下图所示。
DNS响应消息,如下图所示。
由上图可知,DNS查询和响应消息通过UDP发送。
2)DNS查询消息的目标端口是什么?DNS响应消息的源端口是什么?
DNS查询消息的目标端口是53。
DNS响应消息的源端口是53。
3)DNS查询消息发送到哪个IP地址?使用ipconfig来确定本地DNS服务器的IP地址。这两个IP地址是否相同?
DNS查询消息发送到202.205.80.132的IP地址。
本地DNS服务器的IP地址和DNS查询消息的目的IP地址不相同,但是和DNS查询消息的源IP地址相同。
4)检查DNS查询消息。DNS查询是什么"Type"的?查询消息是否包含任何"answers"?
DNS查询消息的Type为A,如下图所示。
DNS查询消息不包含任何answers。
5)检查 DNS 响应消息。提供了多少个"answers"?这些答案具体包含什么?
DNS响应消息提供了1个answer,如下图所示。
answer具体包含的内容如下:
- 域名:safebrowsing.googleapis.com
- 类型:A(表明是一个IPv4地址)
- 类别:IN(Internet类别)
- TTL(生存时间):170秒
- 数据长度:4字节
- 地址:114.250.67.33
五:实验结果及分析
1:本地域名服务器宕机了,如果还需使用域名访问互联网上的目的主机,应采取什么措施?怎么理解DNS劫持和污染?
应该采取以下措施之一:
- 使用备用DNS服务器。配置系统或路由器使用备用的公共DNS服务器,例如Google DNS(8.8.8.8,8.8.4.4)或Cloudflare DNS(1.1.1.1)。
- 配置Hosts文件。临时将目标主机的IP地址与域名映射写入本地的hosts文件,这样系统会直接使用这些映射而不需要查询DNS。
- 使用VPN。VPN服务提供自己的DNS解析服务,可以绕过本地域名服务器的问题。
DNS劫持是指攻击者通过非法手段篡改DNS解析结果,将用户请求的域名指向错误的IP地址。这样用户在访问某个网站时,实际上被重定向到另一个由攻击者控制的恶意网站。
DNS劫持通常通过以下方式进行:(1)路由器或DNS服务器被攻破:攻击者直接控制路由器或DNS服务器,篡改DNS解析记录。(2)DNS缓存中毒:攻击者向DNS服务器发送伪造的DNS响应,将错误的IP地址缓存到DNS服务器中。
DNS污染也称为DNS缓存中毒,是一种通过在DNS服务器中注入虚假数据来伪装某个域名解析结果的攻击手段。DNS污染通常是由网络管理员或ISP(互联网服务提供商)执行的,用于阻止用户访问某些网站。
DNS污染的特点如下:(1)拦截和篡改DNS请求:ISP或网络管理员截获用户的DNS请求,并返回错误的IP地址,导致用户无法访问某些网站。(2)攻击者伪造DNS响应包,使得DNS服务器缓存虚假的IP地址,从而影响用户的访问。
2:举例说明有哪些常用的免费DNS?
- 谷歌DNS。主DNS地址:8.8.8.8,备用DNS地址:8.8.4.4。
- Cloudflare DNS。主DNS地址:1.1.1.1,备用DNS地址:1.0.0.1。
- OpenDNS。主DNS地址:208.67.222.222,备用DNS地址:208.67.220.220。
- Quad9 DNS。主DNS地址:9.9.9.9,备用DNS地址:149.112.112.112。
六:实验总结及体会
1:在DNS查询中,-type=NS和-type=MX是用于查询不同类型DNS记录的选项。NS记录用于指定域名的权威DNS服务器,MX记录用于指定处理域名邮件的邮件服务器。
2:通过查询NS记录,可以找到负责解析某个域名的权威DNS服务器。通过查询MX记录,可以找到一个域名的邮件服务器,了解邮件应该发送到哪台服务器。
3:为了避免DNS劫持和污染,可以采取使用加密的DNS协议、使用可信的DNS服务、定期检查和更新路由器固件、监控和检测DNS流量等措施。