什么是DNS
DNS即地址解析协议,域名系统以分布式数据库的形式将域名和IP地址相互映射。
解析过程:
假如我们要访问 www.baidu.com ,首先要向本地DNS服务器发出DNS请求,查询 www.baidu.com 的IP地址;
如果本地DNS服务器没有在自己的DNS缓存表中发现该网址的记录,就会向根服务器发起查询,根服务器收到请求后,将com域服务器的地址返回给本地DNS服务器;
本地DNS服务器则继续向com域发出查询请求,域服务器将 baidu.com 授权域名服务器的地址返回给本地DNS服务器,本地DNS服务器继续向 baidu.com 发起查询,得到www.baidu.com 的IP地址。
本地DNS服务器得到 www.baidu.com 对应的IP地址后以dns应答包的方式传递给用户,并且在本地建立DNS缓存表。
DNS欺骗
DNS欺骗就是利用了DNS协议设计时的一个非常严重的安全缺陷。
首先欺骗者向目标机器发送构造好的ARP应答数据包,ARP欺骗成功后,嗅探到对方发出的DNS请求数据包,分析数据包取得***ID和端口号***后,向目标发送自己构造好的一个DNS返回包,对方收到DNS应答包后,发现ID和端口号全部正确,即把返回数据包中的域名和对应的IP地址保存进DNS缓存表中,而后来的当真实的DNS应答包返回时则被丢弃。
假设嗅探到目标靶机发出的DNS请求包有以下内容: