在linux上使用tcp dns防止dns污染
看了某篇文章,对tcp dns开始感兴趣,于是动手写了一个小脚本
可以把udp和tcp的dns请求全部转换到tcp发送到dns服务器
使用方法:
使用sudo或者root下执行python tcpdns.py
(绑定1024以下的端口需要root权限)
然后把本机dns设为127.0.0.1
需要安装python和python-twisted-core
dns设置方法:
在/etc/resolv.conf中添加nameserver 127.0.0.1
注意:
默认dns为8.8.4.4 可自己打开脚本修改
其他:
为保证安全性在绑定端口后会把脚本降低权限,默认为os.setuid(1000)
使用前请检查当前用户的uid是否为1000然后做出修改,在/etc/passwd中可以查到
在xp上也可以使用,需要安装python、twisted和zope,可以在以下地址中下载
http://www.python.org/
http://twistedmatrix.com/trac/wiki/Downloads
http://pypi.python.org/pypi/zope.interface#download
感谢lol网友的推荐,本人没有测试,
关于防dns污染还可以参考http://igfw.net/archives/2640、http://igfw.net/archives/274和http://igfw.net/archives/366
简单的办法at home,,,set it in router setting…
有个简单的办法,实验过了可以,就是用本地防火墙软件,屏蔽UDP53, 系统win7会自动转为用TCP53查询DNS的
感谢支持,这个怎么我试试,可以就爽了。
使用win7 自带防火墙在入站口阻止UDP53,无效。不知道是否我操作错误。谢谢!
嗯,貌似是无效,记得我也试过。
试了下,不支持ipv6的dns server啊,好期待支持ipv6!
这个期待吧