鲁夫的爱

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

分类: 小小极客    标签: , , ,     评论: 40人评论

由于众所周知的原因, 某些域名遭受着持续的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/ ]
本文标题:用本地DNS 代理防止DNS 缓存投毒攻击
本文地址:http://opengg.me/815/tcp-dns-proxy-avoid-dns-poisoning/


07-06
2012
  1. 支持!为了省事下载的是Win版的。
    希望能增加UI。
    希望能增加自动最小化或可以隐藏到右下角托盘区域。
    希望能增加启动自动修改DNS功能,关闭时自动改回原来的DNS。

  2. 问个弱的问题,这个下载以后运行了就可以直接访问youtube类的网站么?可是我运行了以后仍然是无法使用的啊、谢谢!

      • ipconfig能看到的只是本地配置,未必是起作用的吧?nslookup看到的应该是起作用的,没有很可靠的方法去验证……

  3. 传说在国内的DNS都是关闭TCP的,这个能顺利获得正确IP应该是远程连接了8.8.8.8或者其他国外的DNS,这样不知道是否会影响CDN的响应。上一段时间在研究本地DNS代理,但是所有的文章都说如果是想要CDN正确响应的话就无可避免要被DNS污染。好处是解析速度快了,并且能过滤电信劫持。博主是怎么理解的?另外此DNS代理是否有cache,还有是否支持更高级的用法?比如内置的泛域名hosts支持和ipv6?

  4. 这招果然好用,gmail什么都正常了 不需要翻墙了,但各种被重置还是得翻墙,万恶的ZF …FK…
    —————————————————————————–
    PS:我觉得我也应该去我的博客评论上写上 :此地不欢迎数字浏览器用户…

  5. 请问与番茄英文固件的内置3个手动输入DNS的效果是相同的吗?
    据说输入超过3个dns可以防止重置污染问题

  6. Pingback: 公共 DNS 服务器 IP 地址及一些大神的本地dns项目 - 梦中飞翔

无觅相关文章插件,快速提升流量

loading...