本文内容来自:http://www.bingtech.net/WordPress/2011/04/233/
但是莫名其妙的是网站打不开了,所以根据缓存,在博客备份一下,并提供稳重涉及到的win7的dll文件。
下面为部分转载原文:

默认情况下Windows的DNS交互使用UDP协议承载,于是抱着试试的心理尝试了一下用TCP来发送DNS请求,结果Google DNS很给力的返回了结果。
接下来的工作就是怎样让Windows用TCP来发送了。悲催的是翻了一遍组策略,网络连接属性等等都没找到哪个选项可以让Windows发送TCP的DNSQuery,也不知道是真没有还是没找到。没办法只好自己动手丰衣足食啦,分析后发现判断用UDP或TCP的关键位置在DnsApi.dll中,修改之,覆盖,重启,用Wireshark看到发送的都是TCP的DNS请求,目前除了nslookup工具,其他使用一切正常,用nslookup发出的请求不受影响,默认还是UDP的,反正不影响上网,无视了。

修改前请看清版本号。XP替换系统文件会麻烦一些,不会替换的请Google,Google了还不会的就别改了。

版本号一定得匹配再替换!!!

Win7版DnsApi.dll
Size: 270,336 bytes
MD5Sum   : c2e583928d087a631cff925e27a5edb4
系统版本:Win7 Ultimate X86 Version 6.1.7601
DLL文件版本:6.1.7601.17570
Download :  dnsapi_Win7.dll (1423)

Related Posts: 让Win7通过TCP协议发送DNS请求-拒绝DNS污染办法 :