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

Pau*_*rge 17 networking dns windows-7 ipconfig traceroute

我配置了两台dns服务器,查看时列出来 ipconfig /all

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

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

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

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

我知道,nslookup [server] [host]但这无助于确认我当前从 tracert 或浏览器使用的 dns。

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

有没有办法做到这一点?

Gau*_*mar 11

我想最好的解决方案是去dnsleaktest并点击Standard test。我个人一直使用这种方法。

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


JC2*_*2k8 8

Windows 按以下顺序查询 DNS:

  1. 主机文件
  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.)
Run Code Online (Sandbox Code Playgroud)

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


小智 8

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

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


BBl*_*ake 5

我不知道 Windows 内置任何简单的方法来跟踪此信息。但是,Wireshark等实用程序可以非常轻松地跟踪网络流量并按特定类型的流量(例如 DNS)进行过滤