分享

用本地DNS 代理防止DNS 缓存投毒攻击 | 鲁夫的爱

 quasiceo 2014-01-16

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

分类: 小小极客    标签: , , ,     评论: 35条评论

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多