windows - 使用 BATCH (cmd) 获取 DNS 解析时间

标签 windows batch-file time cmd dns

我正在尝试获取我的 DNS 服务器的解析时间,但我不确定我是否做得很好。

首先,我尝试对我的 DNS 服务器 IP 执行 ping 操作,并获取时间值,但我不确定它是否是正确的值,因为我认为该值是发出请求并获取的时间对此 IP 的响应。

然后我尝试发出 2 个不同的 ping,一个像这样:"ping www.google.es",第二个像这样:"ping googleIP" 并进行比较时间,但时间完全一样。

最后,我尝试搜索一个可以提供此信息的命令,但找不到。我尝试了 nslookup,但这不是我需要的答案。是否存在任何命令或任何方式来获取此信息?

谢谢。 :)

最佳答案

更新: C.J. Jackson正确地注意到,在测量 DNS 解析时间时,您必须考虑缓存。我认为这在回答并专注于测量命令运行时方面时是给定的。但可以肯定的是,您需要执行 ipconfig/flushdns 以在运行之间清除本地 DNS 缓存,以真正衡量您的 DNS 服务器性能。


nslookup对 DNS 服务器执行名称解析 - 所以这是正确的命令。但是正如您已经指出的那样,它不显示名称解析所花费的时间。使用 Windows 自己的 powershell 可以做到这一点:

powershell "Measure-Command { nslookup www.google.es }"

现在,这个输出在我的系统上......

Non-authoritative answer:


Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 31
Ticks             : 317898
TotalDays         : 3,679375E-07
TotalHours        : 8,8305E-06
TotalMinutes      : 0,00052983
TotalSeconds      : 0,0317898
TotalMilliseconds : 31,7898

如果您想以编程方式使用此值,您可以使用 FINDSTR 进行过滤:

powershell "Measure-Command { nslookup www.google.es }" | FINDSTR "^Milliseconds"

不幸的是,这仍然输出 Non-authoritative answer:nslookup 打印到 STDERR。与批处理不同,您不能在 powershell 中重定向到 NUL - 您需要重定向到 $null:

powershell "Measure-Command { nslookup www.google.es 2> $null }" | FINDSTR "^Milliseconds"

输出:

Milliseconds      : 31

或者,正如 Stephan 所指出的那样,您还可以将重定向移到 powershell 调用之外,从而移出时间测量(我这边相差约 2 毫秒)。这是有效的,因为 powershell 输出到 STDOUT 而不是 STDERR:

powershell "Measure-Command { nslookup www.google.es }" 2>NUL | FINDSTR "^Milliseconds"

关于windows - 使用 BATCH (cmd) 获取 DNS 解析时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34743804/

相关文章:

python - 嵌入式 Python - 时间模块中的阻塞操作

Symfony/Doctrine 反序列化时间

android - 如何在 android 的日期选择器小部件中添加新按钮?

windows - 在 Windows 上部署应用程序的 GHC API 的简单方法

比较 ext4 和 NTFS 的性能

windows - golang.org/x/sys/windows/registry (k Key)ReadSubKeyNames() 返回空 slice

python - 如何在 Python/Windows10 上使用 FFMPEG 和 Pipe 进行屏幕录制?

batch-file - 批处理 : select top file from directory

windows - 如何使用 cmd 行压缩文件?

Windows 批处理文件压缩,然后 ftp 文件