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


15

我配置了两个dns服务器,查看时将列出它们 ipconfig /all

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

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

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

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

我知道,nslookup [server] [host]但这对从tracert或浏览器确认我当前正在使用的dns没有帮助。

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

有没有办法做到这一点?

Answers:


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.)

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



7

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

快速编辑:请勿在nslookup命令后键入地址,它会告诉您所使用的dns服务器。


1
nslookup始终显示默认的DNS服务器。
Neuro递质

5

我不知道Windows内置有什么简单的方法来跟踪此信息。但是,使用诸如Wireshark之​​类的实用工具,可以很容易地跟踪您的网络流量并按特定种类的流量(例如DNS)进行过滤


2

我相信,除非失败,否则您将一直使用主DNS服务器。这就是我们拥有备用DNS(又称为辅助DNS服务器)的原因。


2
如果它已经进行了故障转移,那我怎么看?
Paul George


2

您可以访问http://whatsmyresolver.stdlib.net/。 该页面告诉您用来解析域的dns服务器。这样做的优点是,即使您无权访问路由器,或者您的dns查询在isp或类似内容的中间,它也能正常工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.