我是靠谱客的博主 冷静大雁,最近开发中收集的这篇文章主要介绍请求报文解析_原创:UDP协议应用详解-域名服务器DNS(三)报文格式与分析1、 DNS报文格式2、 DNS报文分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、 DNS报文格式

79f8dcc8551b181856c73b9472fbdf0f.png

1.1标识位:即ID位,共16位,2个字节,客户端发送一个ID位为1的请求,DNS服务器会响应此ID为1的请求,ID为还为1。ID为是为了对应请求与响应报文。

1.2标志位:共16位,2个字节,16位。内容如下图所示:

260f22728c08d19304997579981985bd.png

1.2.1、QR位,共1位,为0时表示该DNS报文为请求报文,为1时表示该DNS报文为响应报文。

1.2.2、opcode为,共4位,为0时表示该DNS报文为正向查询,为1时表示该DNS报文为反向查询。

1.2.3、AA(authoritative answer)位,共1位,表明该DNS响应是否为首选回答,为0时表示该DNS报文为非授权回答,即DNS服务器从缓存中获取的解析地址,为1时表示该DNS报文为授权回答,即查询域名服务器后获取的解析地址。

1.2.4、TC(truncated)位,截断位,共1位,为0时表明不截断,为1时表示该响应报文大于512Byte,需要使用TCP进行传输。

1.2.5、RD(recursion desired),期望递归位,共1位,DNS请求中出现,为1时表示期望使用递归查询的方式进行DNS查询,但域名服务器基本不会响应递归查询,递归查询会消耗域名服务器的性能。

1.2.6、RA,为RD的响应,共1位,DNS响应报文中出现,为1时表示DNS服务器可用递归查询方式。

1.3问题数位:共16位,出现在DNS请求报文中,表示报文中询问域名的数量。

1.4回答数位:共16位,出现在DNS响应报文中,表示报文中回答请求相应域名解析的数量。

1.5授权资源记录数位:共16位,基本不会出现在用户和DNS服务器之间,一般出现在DNS服务器与域名服务器之间。

c4cfd66e0a0a1004d8a7e12fb50e6c26.png

如上图2、3步骤:当DNS服务器向根域名服务器查询一个FQDN时,由于根域名服务器没有对应的域名,只有.Com域名服务器的解析地址时,会告知DNS服务器寻找去这个.com服务器的域名(如上图666.dns.com)来查询响应FQDN,此时就授权资源记录数位将设置为1。如果根域名服务器中记录了多个.Com域名服务器的解析地址时,会告知DNS服务器可以去多个.com域名服务器的响应域名去查询相应的FQDN,此时授权资源记录数位将设置为"多个.com域名服务器"的数量。

1.6额外资源记录数位:共16位,与授权资源记录数相对应,授权资源记录数是告知DNS服务器寻找去这个.com服务器的域名来查询响应FQDN,并没有告知.Com服务器相应的IP地址为2.2.2.2,额外资源记录就是告知.Com服务器相应的IP地址的,即告知666.dns.com的地址为2.2.2.2,响应报文中有一个额外资源的告知,则额外资源记录数位加1。

知识扩展:DNS协议端口号UDP和TCP的53端口,大家应该都知道UDP53号端口,那TCP53号端口是什么作用呢?TCP53号端口用于主备两台DNS服务器之间同步记录(DNS服务器间的区域传送)时使用,还有就是当DNS响应的报文大于512Byte时,也将使用TCP53号端口发送DNS报文。

d2c9dcb62001d43c58a9d7014baa951b.png

如图所示,如果DNS服务器的响应报文大于512Byte时,该蓝底的标志位将会被置为1,告知客户端报文大于512Byte,将使用tcp53端口进行DNS响应报文的传输。

2、 DNS报文分析

下面我们通过抓包详细分析一个常见的DNS的请求报文和对应的响应报文:

DNS请求报文:请求www.baidu.com的A记录,即请求解析www.baidu.com的IP地址。

021e11b274d34a91d08cd987e9af5620.png

DNS响应报文:响应用户对于www.baidu.com解析的请求。

41ee31ae37c3de47ef9591106d77b71e.png
16481e6a4db66a30f3c566e135ac9eb8.png

此时,用户即可通过解析的相应IP地址访问www.baidu.com。

2fc5c785f8054ca7f0dcd82350a109d7.png

以上内容均为本人对所掌握知识总结归纳所创作的原创文章,希望能给大家的学习过程带来帮助,如有技术理解错误希望能够得到大家的指正,大家共同学习,共同进步。

欢迎关注我的头条号,私信交流,学习更多网络技术!

最后

以上就是冷静大雁为你收集整理的请求报文解析_原创:UDP协议应用详解-域名服务器DNS(三)报文格式与分析1、 DNS报文格式2、 DNS报文分析的全部内容,希望文章能够帮你解决请求报文解析_原创:UDP协议应用详解-域名服务器DNS(三)报文格式与分析1、 DNS报文格式2、 DNS报文分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部