DNS协议分析

DNS(Domain Name System, 域名系统)

是因特网上作为域名和IP地址相互映射的一个分布式数据库,这个分布式数据库采用树型结构。通过主机名得到对应IP地址的过程叫做域名解析。DNS使用UDP协议,端口号为53。

包含主机名及其所在的域名的完整地址称为FQDN,全域名。例如地址"www.abc.xyz.com",其中,"www"表示服务器的名字(大多数的网站服务器都使用该名称),“abc.xyz.com"表示该主机所属的DNS域的名字。

DNS系统解析过程

DNS解析过程
可以从本地的hosts文件中得到主机名称对应的IP地址,如果hosts文件不能解析该主机名称,则只能通过向客户机所设定的DNS服务器进行查询。上图是DNS解析的过程。

(1)DNS客户机向本地域名服务器发送查询请求,查找域名www.abx.xyz.com的IP地址。本地域名服务器查询本地的缓存,如果有这个地址,则将地址返回给DNS客户机。

(2)如果本地域名服务器缓存没有这个地址,则发送查询请求到根域名服务器,询问www.abx.xyz.com的地址,根域名服务器会将子域com的域名服务器的地址返回给本地域名服务器。

(3)本地域名服务器再向.com域发送查询请求,com域服务器无法提供地址,但会把下一级的域名服务器xyz.com的地址发送给本地域名服务器。

(4)重复(2)、(3)的过程,最后xyz.com域名服务器把abc.xyz.com域名服务器地址发送给本地域名服务器。

(5)本地域名服务器再向abc.xyz.com域名服务器发送地址查询请求。abc.xyz.com找到了www.abc.xyz.com的地址就将这个地址发送给本地域名服务器。

(6)本地域名服务器把地址保存到缓存,同时返回给DNS客户机。

该解析过程用到了两种查询方式,分别是递归查询和迭代查询。

递归查询:主机向本地域名服务器的查询一般都是采用递归查询。

迭代查询:本地域名服务器向根域名服务器的查询通常采用迭代查询。只是通常,也有的采用递归查询。

DNS抓包

dns包

分析DNS数据包

DNS报文格式
dns报文格式
标志字段的格式:
标志字段格式
QR为1表示响应,为0表示请求

AA 权威应答,在响应包中设置,表示响应是由权威域名服务器发出的

TC 截断标志

RD期望递归

RA可用递归,在响应包中设置,说明支持递归查询

Z 保留字段,设置为全

rcode 响应代码,0表示没有没有错误,3表示域参数问题

DNS查询数据包
dns查询数据包
DNS响应数据包
dns响应数据包
回答区段有2条记录,一条是别名域名,一条是响应的IP地址。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wsws100

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值