为什么 Windows 上的 nslookup 这么慢?

为什么 Windows 上的 nslookup 这么慢?

我一直注意到任何 Windows 机器上的 nslookup 都很慢。

powershell 中的示例:

Measure-Command { nslookup superuser.com } 
TotalMilliseconds : 1318.4933

在我尝试过的每台 Windows 计算机上,这通常需要 1.0 到 1.5 秒。

同时,即使在高级解释语言(例如 perl/python)中,我也可以启动整个解释器,运行脚本进行 DNS 查找,并更快地获得结果:

Measure-Command {perl dns.pl superuser.com}
TotalMilliseconds : 121.099

在我看来,nslookup 在启动时存在较大的延迟,因为如果使用交互模式,查找速度会快得多。

所以我想我的问题是:为什么 nslookup 启动需要这么长时间,有什么方法可以让它更快吗?无论是手动使用还是在脚本中使用,它的缓慢速度确实很烦人。

答案1

这归结为行为差异。

最大的问题是 nslookup 会从后缀列表中附加 DNS 后缀。根据配置中后缀的数量,这可能需要一段时间(每个后缀 3 秒)。

如果你想让它更快,你可以通过以下方式完全绕过后缀行为

  • 查找 FQDN 而不是短名称
  • 将 FQDN 设为绝对FQDN 而不是相对域名(添加尾随点

相关内容