A-A+

用本地DNS 代理防止DNS 缓存投毒攻击

2012年07月26日 学习小计 暂无评论 阅读 1 次
 
2012年7月26日 | 分类: 翻墙相关 | 标签: , ,

 

由于众所周知的原因, 某些域名遭受着持续的DNS 缓存投毒攻击, 通过UDP 协议进行DNS 查询时, 会收到来自旁路的干扰结果, 而通过TCP 进行DNS 查询则不会, 原理详见此文: < 为何我们不能正常使用Google加密搜索> .

< 不Google,毋宁死 – 实时生成的Google hosts文件> 一文中我给出了一个实时生成的hosts 文件用于防止DNS 缓存投毒攻击, 但是hosts 有比较大的局限性.

现在我找到了另一个解决方案: 在本地开设DNS 代理服务器. 本地DNS 服务器与上游DNS 服务器之间通过TCP 协议进行查询, 将结果通过UDP 协议返回给本机客户端, 这样就不会被旁路干扰. 使用方法: 1. 安装好python 后打开Tcp-DNS-proxy , 下载tcpdns.py 运行; 2. 在命令行下运行 netstat -an 检查是否存在 UDP 127.0.0.1:53 结果 3. 修改网络设置, 将DNS 服务器改成 127.0.0.1 4. 在命令行下运行nslookup www.Twitter.com , 应该能得到正确的结果 服务器: UnKnown Address: 127.0.0.1

非权威应答: 名称: Twitter.com Addresses: 199.59.149.230 199.59.150.7 199.59.148.82 Aliases: www.twitter.com

注. 如果Windows 用户不想 安装python, 可以下载我打包好的exe 程序包, 运行tcpdns.exe

来源http://opengg.me/815/tcp-dns-proxy-avoid-dns-poisoning/

给我留言

Copyright © 浩然东方 保留所有权利.   Theme  Ality 07032740

用户登录