网络协议中的DNS协议是非常重要的一环。它是将域名映射成IP地址的过程中的关键点。当我们在浏览器中输入URL时,DNS协议都是自动将它转换为IP地址。而若无法正确映射,则会使访问失败。因此,我们需要使用一些分析工具来监测和分析DNS协议。其中我们常用的工具是Wireshark。
Wireshark是一个网络抓包工具,可以查看、分析和拦截网络数据包。我们用Wireshark来捕获DNS通信数据包,以分析协议的详细信息,并找出网络通信中的问题。
在Wireshark软件中,选择菜单栏上的 "Capture"-> "Interfaces"。在选择好要监测的网络接口后,点击start开始抓包。
当抓包过程结束后,我们可以将捕获的数据进行解码。Wireshark会自动将抓包的数据进行解码,并将所得的信息以可视化的方式展示出来。
Wireshark所抓到的DNS域名解析数据包,一般是包含UDP数据报文,而且往往采用53端口,其流程通常为:
- 主机(客户端)向本地DNS服务器请求解析域名的IP地址。
- 本地DNS服务器查询本地DNS缓存区,如果缓存区中有,则查询缓存区中的结果;没有则进入递归查询。
- 本地DNS服务器向根域名服务器请求解析域名的IP地址。
- 根域名服务器回应TLD(顶级域名)名称服务器的IP地址。
- 本地DNS服务器向TLD名称服务器请求解析域名的IP地址。
- TLD名称服务器回应权威名称服务器的IP地址。
- 本地DNS服务器向权威名称服务器请求解析域名的IP地址。
- 权威名称服务器向本地DNS服务器返回解析域名的IP地址。
- 本地DNS服务器缓存该解析结果,并回应给主机。
在查看DNS数据包的时候,需要注意以下几点:
1. 在Wireshark中,DNS的数据包分为查询包和响应包两种类型;
2. DNS查询包的目的IP地址应该是DNS服务器的IP地址;
3. DNS响应包的源IP地址应该是DNS服务器的IP地址;
4. DNS查询包中的查询类型(QTYPE)和查询类(QCLASS)通常是 A 类型和 IN 类型。
通过Wireshark软件对DNS协议的分析,可以发现许多网络通信中的故障。我们可以利用Wireshark的过滤器,来帮助我们找出一些异常的DNS流量,比如:正常的DNS流量应该是不会超过512字节的,如果超过了,那么有可能是别有用心的黑客利用DNS的漏洞传输恶意代码等活动。
此外,我们还可以利用Wireshark分析DNS协议的不同类型的记录。比如我们在分析DNS数据包时,可以先关注记录类型,看看是否包含了地址记录类型,解析TTL是多少,以及是否有奇怪的DNS记录。
总之,Wireshark软件对于DNS数据包的分析是很重要的,它可以帮助我们提升网络安全性,以及网络故障的排查。只要掌握了相关的技巧,我们就可以使用Wireshark将网络通信数据包进行详细的解读,从而更好的保障网络通信的安全性。
扫码咨询 领取资料