软件开发DNS服务攻击的原理
来源:广州软件开发 编辑:广州软件开发公司 日期:2020-05-09
软件开发的DNS服务进犯原理。
DNS ( Domain Name System)即域名体系,是一种分布式的、层次型的、客户机朋及务器式的数据库管理体系。它完成了将域名翻译为IP地址的功用。由于1P地址不容易被记住,人们习气记忆简略的域名;但计算机互相通信只能识别1P地址,因此需求把域名和1P一一对应并转换。域名解析需求专门的域名解析服务器来进行,整个进程是通过DNS体系自动完成的。
域名解析的工作原理及其步骤是:
第1步:用户提出域名解析恳求,并将该域名发送给本地的DNS域名服务器。
第2步:当本地的DNS域名服务器收到恳求后,就先查询本地的缓存,假如有该域名对应的1P地址,则本地的DNS域名服务器就直接把查询的成果回来给用户。
第3步:假如本地的缓存中没有该记载,则本地DNS域名服务器就直接把恳求发给根DNS域名服务器,然后根DNS域名服务器再回来给本地DNS域名服务器一个所查询域(根的子域,如 CN)的主域名服务器的IP地址。
第4步:本地服务器再向上一步骤中所回来的主域名DNS服务器发送恳求,收到该恳求的主域名DNS服务器查询其缓存,回来与此恳求所对应的记载或相关的下级域名服务器IP地址。本地域名服务器将回来的成果保存到缓存。
第5步:重复第4步,直到找到正确的记载。
第6步:本地域名服务器把回来的成果保存到缓存,以备下一次运用,同时还将成果回来给客户机。
在域名解析进程中,假如提交给某个域名服务器的域名解析恳求数据包被截获,然后将一个虚假的IP地址作为应对信息回来给恳求者。这时,用户就会衔接这个假的IP地址,从而运用户被诈骗,这便是DNS服务进犯的基本原理。
DNS服务进犯看似简略,可是完成起来有一定难度的。由于在结构虚假应对信息时,服务器也同时会给出应对信息,因此虚假的应对信息和真实的应对消息产生抵触。当真实的服务器给出的应对信息比虚假信息先到时,则DNS服务进犯不会成功。此外,在DNS查询包中有一个重要的字段叫查询ID ( Query IDentifier ),它用来表示查询包的顺序号,一般由发出DNS恳求的计算机在其恳求数据包中设置,DNS服务器回来的呼应数据包中将此值加1后回来,用于匹配恳求呼应。假如查询ID不匹配,DNS服务进犯也不会成功。因此,要想使服务进犯成功,就必须获得正确的查询ID。一般是通过在局域网安装嗅探器(Sniffer)嗅探得到这个ID。
防备DNS服务进犯可采用以下两种方法:(1)直接用IP拜访重要的服务器,这样至少可以避开DNS诈骗进犯。但这需求记住要拜访的IP地址。(2)加密一切对外的数据流,对服务器来说便是运用SSH等加密协议,对一般用户应该用PGP等软件加密一切发到网络上的数据。
相关阅读