如何找到我正在使用的 DNS 服务器(已配置的多个 DNS 服务器)

如何找到我正在使用的 DNS 服务器(已配置的多个 DNS 服务器)

我配置了两个 dns 服务器,在查看时会列出ipconfig /all

我想知道我当前正在使用哪两个服务器,即通过浏览器或通过命令tracert。我相信我将使用列出的第一个服务器,除非它不可用,此时我将使用下一个服务器。

我试图找出是否有一个命令可以使用,它可以告诉我正在使用哪一个,或者可以解释为什么这是一个有缺陷的问题。

我知道,ipconfig /displaydns但这是一个缓存结果列表,它也没有显示每个结果来自哪个服务器。

我知道,nslookup [host]但是这使用了当前的“默认”服务器。

我知道,nslookup [server] [host]但这无助于通过 tracert 或浏览器确认我当前正在使用哪个 dns。

我的问题来自于这样一种情况:nslookup 会为我提供特定内部主机的预期结果。同时,我的浏览器也tracert无法解析主机。如果 tracert 和我的浏览器正在使用辅助 dns 服务器,我希望能够确认这一点。

有没有办法做到这一点?

答案1

Windows 按以下顺序查询 DNS:

  1. Hosts 文件
  2. 本地 DNS 缓存
  3. 首选 DNS 服务器
  4. 其他 DNS 服务器(二级、三级……)

您可以在 Microsoft (DNS 查询的工作原理客户端功能)。此外,还有一份超时对于 DNS 请求:

Value        Default Value  Attempt
-------------------------------------------------------------------------------------
1st limit    1 second       Query the preferred DNS server on a preferred connection.
2nd limit    2 seconds      Query the preferred DNS server on all connections.
3rd limit    2 seconds      Query all DNS servers on all connections (1st attempt).
4th limit    4 seconds      Query all DNS servers on all connections (2nd attempt).
5th limit    8 seconds      Query all DNS servers on all connections (3rd attempt).
6th value    (Must be 0.)

Windows 可能会在事件查看器中的某个地方记录 DNS 查询超时,我对此不太确定。Wireshark提及@BBlake 可能是您快速获得答案的最佳选择。

答案2

我想最好的解决办法是去dns泄漏测试并点击标准测试。我个人一直都用这个方法。

编辑:我最近开始使用的另一种方法是Cloudflare 的 DNS 帮助页面。在这里,您可以看到旁边正在使用的 DNS 服务器AS Name

答案3

命令提示符中的 nslookup 命令将告诉您它正在使用哪一个(通常是您的主服务器)。有时在第一个 DNS 服务器上输入虚假域名 (hdhsgdh.com) 会失败,并尝试使用第二个。

快速编辑:不要在 nslookup 命令后输入地址,它会告诉您它正在使用哪个 dns 服务器。

答案4

NirSoft 的 DNSQuerySniffer 实用程序将显示 DNS 查询的结果,并包含 DNS 服务器的 IP 地址。

http://www.nirsoft.net/utils/dns_query_sniffer.html

相关内容