发新话题
打印

通过nslookup的-vc参数用TCP协议解析域名

通过nslookup的-vc参数用TCP协议解析域名

DNS的问题,已经有很多讨论了
在网上有人介绍,通过tcp协议解析域名,可以获得正确的IP
但Windows默认是udp解析域名,而且无法设置成通过tcp协议解析域名。有人想办法通过修改dnsapi.dll实现tcp方式解析域名
前些天看到网上有介绍使用nslookup -vc的参数,强制使用tcp解析域名。
网上已有用java、python等编写的dns工具用来解析dns污染的问题。今天我试用Perl写了一个程序,运行在Linux服务器上,效果还可以。
原理是,在53端口监听udp的查询请求,把请求信息中的域名信息分离出来,用nslookup -vc的方式和Google的DNS进行tcp通信,最后再把获取的正确IP用udp的方式发给客户端。

在互联网上也可以使用这个服务,可以做一个简单的测试,查询twitter.com的IP:
在命令行键入:nslookup twitter.com 8.8.8.8,返回的IP是:
Address: 37.61.54.158   (这个IP是错误的,说明DNS信息被污染了)
在命令行键入:nslookup -vc twitter.com 8.8.8.8,返回的IP是:
Address: 199.59.149.198  (这个IP是正确的,是通过tcp方式查询的)
在命令行键入:nslookup twitter.com 202.194.185.214,返回的IP是:
Address: 199.59.149.198  (这个IP是正确的) 
这说明,这个搭建的DNS,是可以解决DNS污染问题的

原文:http://blog.itpub.net/21129783/viewspace-710816

TOP

发新话题