ESET NOD32 提示DNS缓存投毒

[caption id="attachment_438" align="aligncenter" width="300"]ESET NOD32提示DNS缓存投毒 ESET NOD32提示DNS缓存投毒[/caption] 今天给电脑装上了ESET NOD32,终于不裸奔了,但是我每次打开我的主页的时候(谷歌)NOD32就会报警,提示DNS缓存投毒,可是我的DNS是谷歌的啊(Google Public DNS),难道这么大的公司也被黑了?经过网上的查询,其实谷歌的DNS并没有被投毒,原因是怎么样呢? 在中国大陆,对于所有经过防火长城的在UDP的53端口上的域名查询进行IDS入侵检测,一经发现与黑名单关键词相匹配的域名查询请求,其会马上伪装成目标域名的解析服务器给查询者返回虚假结果。由于通常的域名查询没有任何认证机制,而且域名查询通常基于的UDP协议是无连接不可靠的协议,查询者只能接受最先到达的格式正确结果,并丢弃之后的结果。 对于不了解相关知识的网民来说也就是,由于系统默认使用的ISP提供的域名查询服务器查询国外的权威服务器时即被防火长城被污染,使其缓存受到污染,因而默认情况下查询ISP的服务器就会获得虚假IP地址;而用户直接查询境外域名查询服务器(比如 Google Public DNS)有可能会被防火长城污染,从而在没有任何防范机制的情况下仍然不能获得目标网站正确的IP地址。 防火长城暂时未对TCP协议下的域名查询进行投毒污染,故现在能通过强制使用TCP协议查询真实的IP地址:Windows下打开命令提示符,输入nslookup -vc 要查询的域名 境外DNS服务器的IP地址(必须支持TCP协议查询,否则不会返回查询结果),回车后能返回正确的目标服务器IP地址。而现实的情况是,防火长城对于真实的IP地址也可能会采取其它的手段进行封锁,故能否真正访问可能还需要其它翻墙的手段。 所以DNS并不是真正的被投毒,所以这条报警就可以忽略了,并不影响我们的正常使用,我还是打开了谷歌的首页。