|
发表于 2012-5-6 21:05:03
|
显示全部楼层
本帖最后由 freeman999 于 2012-5-6 21:09 编辑
非常不错的东西。识货的说。网上找的。
DNS 转发器
可以将 UDP 形式的 DNS 数据包,以 TCP 形式转发至指定的 DNS 服务器(默认为 Google DNS 8.8.4.4)。
因为听说 TCP 的 DNS 数据包不会被污染,于是做了这么个玩意,省得改系统文件了。
文件列表:
dnsforwarder.exe 主程序文件
使用方法:
直接打开 dnsforwarder.exe,如果没有自动退出,最小化就可以了。然后将系统的 DNS 设置为 127.0.0.1。
可能还需要重新连一下网。
在命令提示符中执行 “nslookup www.google.com 127.0.0.1”可以看到效果。
命令行 : dnsforwarder.exe [参数]
参数:
基本功能:
-q 安静模式。不显示任何信息
-T <NUM> 设置本地 TCP 监听的线程,0 表示不在本地开启 TCP(默认为 0)。
-U <NUM> 设置本地 UDP 监听的线程,0 表示不在本地开启 UDP(默认为 2)。
-s <IP> 指定以 TCP 方式查询 DNS 的服务器(默认为 8.8.4.4)
-sp <PORT> 指定以 TCP 方式查询 DNS 的服务器端口(默认为 53)
-la <IP> 指定本地监听的 IP(默认为 127.0.0.1)
-lp <PORT> 指定本地监听的端口(默认为 53)
规则设置 (双破折号):
--DisableType <NUM1>,<NUM2>,<NUM3>...
拒绝查询以上类型的 DNS 信息。所有已知的类型可以添加参数 `--PrintAllTypes' 获得
--DisableDomain <DOMAIN1>,<DOMAIN2>,<DOMAIN3>...
拒绝查询以上的域
--ExcludeDomain <DOMAIN1>,<DOMAIN2>,<DOMAIN3>...
用 UDP 方式而不是 TCP 来查询以上域,这时参数 `--UDPServer' 和 `--UDPPort' 必须使用
--InternalExList
使用内部域排除列表,用于 UDP 方式查询(默认关闭),这个列表可以通过添加参数 `--PrintInExList' 获得。同样,参数 `--UDPServer' 和 `--UDPPort' 必须使用
--UDPServer <IP>
指定以 UDP 方式查询 DNS 的服务器
--UDPSPort <PORT>
指定以 UDP 方式查询 DNS 的服务器端口(默认为 53)
缓存设置 (双破折号):
--NoCache 不使用缓存(默认开启)
--MultiTTL <NUM> 将 TTL 加 <NUM> 倍(默认为 1,即不加倍)
信息输出 (双破折号):
--PrintAllTypes 输出所有已知的 DNS 记录类型
--PrintInExList 输出内部域排除列表
示例:
将 UDP 监听线程设置为 3,以加快查询速度:
dnsforwarder.exe -U 3
拒绝查询类型为 28 和 12 的 DNS 查询:
dnsforwarder.exe --DisableType 28,12
拒绝查询 .abc.com 和 .abc.net 的域:
dnsforwarder.exe --DisableDomain abc.com,abc.net
让域 .abc.com 和 .abc.net 以及 .cn 的查询使用 UDP 方式:
dnsforwarder.exe --ExcludeDomain abc.com,abc.net,cn --UDPServer <UDP 服务器地址> |
|