我正在考虑 Windows 10/11。
哪些 Windows 10 应用程序使用“DNS 客户端”服务?
我猜浏览器、邮件客户端等 Windows 应用程序都有自己的 DNS 客户端(也称为“存根解析器”),因此绕过 Windows DNS 客户端。它们都使用操作系统设置的 DNS 服务器(在网络适配器的属性中)。
另外:您可以检查的 Windows DNS 缓存ipconfig /displaydns
仅存储由 Windows DNS 客户端解析的 DNS 记录,我对吗?这样每个 Windows 应用程序都会使用自己的缓存吗?
非常感谢任何澄清。
不,他们很少这样做。大多数情况下,只有特殊用途的应用程序(以及一些但肯定不是全部的网络浏览器)往往拥有自己的存根解析器。大多数只需要将主机名解析为地址的程序将使用操作系统解析器。
(通常需要解析非地址记录类型(例如 TXT)的程序可能有自己的存根解析器,例如 OpenSSH 如何使用 libldns 来查找 SSHFP 记录,同时仍然使用操作系统解析器来解析主机名。)
一般来说,如果程序可以成功使用非 DNS名称(例如 mDNS foo.local),那么它很可能使用操作系统解析程序。
通俗地说:DNS 客户端被集成到 TCP/IP 堆栈中(在应用层内)。
原则上,所有尝试通过 DNS 访问 URL 的应用程序都会“涉及”DNS 客户端(尽管是通过 TCP/IP 堆栈发送解析操作系统的请求间接实现的),因为它的主要目的是缓存 DNS 名称。但是,如果您停用它,DNS 解析仍然有效,但 DNS 名称将通过 DNS 服务器解析,这比查找缓存需要更多时间。
所以是的,你是对的,浏览器、电子邮件客户端等将使用“DNS 客户端”服务
不,您混淆了 DNS 缓存和 DNS 解析器。大多数应用程序使用操作系统(TCP/IP 堆栈)来解析 DNS 名称,因此它们(间接)使用 DNS 客户端。但是,如果它们有自己的缓存,并且 DNS 名称恰好存储在它们的缓存中,则不需要通过操作系统进行解析,因此 Windows DNS 客户端会被绕过。
是
ipconfig /displaydns
仅显示来自 DNS 客户端的缓存。不,并非所有应用程序都有自己的 DNS 缓存,因此并非所有应用程序都可以使用自己的缓存,但对于曾经使用过的应用程序来说,是的。
注意:还有第二个目的,即向域服务器注册您计算机的 DNS 名称。