勿忘初心做自己 发表于 2022-6-22 19:18:34

DNS协议

最近在进行信息收集的时候,尝试漏洞挖掘时。使用了DNSlog外带方法,发现自己对DNS该协议的理解比较浅,故今日发一篇对DNS协议详解,加深自己对DNS的理解
如有不足和缺陷,望指正 

0x01 什么是DNS?


DNS协议默认端口:TCP和UDP协议号的端口53
DNS是域名解析协议,基于TCP和UDP协议组的应用层协议。它在网络中起着"翻译官的角色"。
0x02 DNS协议的作用及机制

DNS协议是用来将域名解析转换为IP地址(也可以将IP地址解析成对应的域名地址),一个公网IP对应一个域名。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人们更方便地访问互联网
举个例子:
我们现在访问百度时,输入网址"www.baidu.com" 我们就能进入"百度一下,就知道"的网页
https://img2022.cnblogs.com/blog/2902742/202206/2902742-20220619180653261-1302748515.png
但是浏览器是不能直接识别域名的,域名的存在是为了用户方便记忆而诞生的。
比如说我们访问www.baidu.com 时,本机会先向本地DNS服务查询发起递归查询,本地DNS服务器会向根DNS服务器,顶级域名 DNS 服务器;域名 DNS服务器发起迭代查询。
从不同DNS服务器查询的结果即为"www.baidu.com" 的IP地址,第一次查询后,该IP地址会保存在本地DNS服务器的缓存中,便于下一次的访问。
那么有了这么一串IP地址,我们的电脑才能读懂我们要访问的网站,要去的地方。
https://img2022.cnblogs.com/blog/2902742/202206/2902742-20220620090026033-1935216830.png
0x03 DNS协议查询内容分类:

■ 正向解析:

通过已知域名,访问本地DNS服务器缓存,解析IP地址。
https://img2022.cnblogs.com/blog/2902742/202206/2902742-20220620090712798-1043183366.png
由上图可见我们ping "www.baidu.com" 的网址时,返回了一个36.152.44.96的IP地址,这就是DNS协议的功劳。
当我们访问百度首页时,客户端会向本地服务器发送查询域名的请求,本地服务器则会通过访问缓存表或迭代查询根、域名DNS服务器。去查询该域名的解析记录,并一层层返回查询结果至客户端。
观察这里的IP地址,百度的IP可以是很多个,但是真实IP只有一个。我们又可以衍生出另一个知识点:"CDN(内容分发网络)",这里我提个引子,放在下一章节来描述
■ 反向解析:

由上述正向解析可知,反向解析即为通过已知IP地址,访问本地DNS服务器缓存,解析域名。
https://img2022.cnblogs.com/blog/2902742/202206/2902742-20220620090900294-1351025525.png
此致,敬礼!

来源:https://www.cnblogs.com/Webkio/p/16392149.html
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: DNS协议