当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 IPConfig DisplayDNS

作者:精品下载站 日期:2024-12-14 18:56:02 浏览:14 分类:玩电脑

如何使用 IPConfig DisplayDNS


您的计算机会缓存您访问过的网站或网络中使用过的服务器的 DNS 记录。此缓存可以让您的计算机快速连接到网站,而无需每次都查找 IP 地址。我们可以使用命令 IPconfig /flushdsn 刷新缓存,但是您知道吗,您还可以使用命令 IPConfig /DisplayDNS 查看缓存?

除了 ipconfig displaydns 命令之外,还有一个 PowerShell cmdlet 可用于查看 DNS 缓存。该命令将提供比 IPConfig 版本更易读的结果。

在本文中,我将解释 ipconfig /displaydns 命令并向您展示用于查看本地 DNS 缓存的 PowerShell 选项。

使用 IPConfig /displaydns 命令

让我们从 IPConfig /DisplayDNS 命令开始。要查看所有缓存的 DNS 记录,您可以打开控制台(例如 PowerShell 或终端),然后键入以下命令:

ipconfig /displaynds

# (part of the) Result

    www.google-analytics.com
    ----------------------------------------
    Record Name . . . . . : www.google-analytics.com
    Record Type . . . . . : 1
    Time To Live  . . . . : 9
    Data Length . . . . . : 4
    Section . . . . . . . : Answer
    A (Host) Record . . . : 142.250.178.14

这将为您提供计算机上缓存的所有 DNS 记录的列表。它将显示 DNS 名称和 DNS 记录的资源记录。但这一切意味着什么?

Record Name

DNS 记录名称

Record Type

DNS 记录类型,用数字表示:
1 - A(地址)记录,普通 IPv4 地址记录
2 - NS(名称服务器)记录
5 - CNAME(另一个 DNS 记录的别名)
12 - PTR(指向主机名的指针)
28 - AAA 记录(与 IPv6 一起使用)

您可以在此处找到所有数字的概述

Time To Live

记录过期(并从缓存中删除)之前的时间(以秒为单位)

Data Length

记录的长度(以字节为单位)

Section

表示该记录包含答案。另一种选择是例如胶水

A (Host) Record

记录的实际值

运行该命令时,您可能会注意到并未列出所有记录,或者即使在运行命令 ipconfig /flushdns 后记录仍然保留。并非列出的所有记录都与生存时间有关。当 TTL 过期时,记录将从缓存中删除。

运行flushdns命令后记录仍然列出的原因是主机文件中的条目不会被删除。另外,请记住,在刷新 DNS 记录后,后台运行的应用程序可能已经完成了新的 DNS 查找。

IPConfig 命令的功能有点有限。例如,我们无法真正使用该命令搜索 DNS 条目。您可以在命令提示符中执行以下操作:

ipconfig /displaydns | find "bing.com"

# Result
    www.bing.com
    Record Name . . . . . : www.bing.com

但正如您所看到的,它只返回包含该名称的行。不是包含 IP 地址的完整 DNS 记录。

获取 DnsClientCache

用于查看 DNS 记录的 PowerShell cmdlet 功能更强大一些。要使用 PowerShell 查看所有缓存的 DNS 记录,我们可以使用 cmdlet Get-DnsClientCache。此 cmdlet 的优点是您可以轻松搜索记录,或使用 Export-CSV cmdlet 将它们导出到 Excel。

Get-DnsClientCache

[玩转系统] 如何使用 IPConfig DisplayDNS

要搜索记录,我们有几种选择。例如,我们可以使用参数name,它只会返回条目与名称匹配的记录。默认情况下,它将搜索确切的名称,但您也可以向字符串添加通配符 *

# Return all records that start with lazysrvlab03
Get-DnsClientCache -Name "lazysrvlab03*"

# Or 
# Get all records that contai microsoftonline
Get-DnsClientCache -Name "*lazysrvlab03*"

您可以借助参数搜索所有列。因此,如果您想查看所有 CNAME 记录,您可以这样做:

Get-DnsClientCache -type cname

包起来

命令 IPConfig Displaydns 或 Get-DnsClientCache 可以帮助您解决客户端上的 DNS 问题。请确保您还阅读了有关刷新 DNS 记录和 DNS 清理的文章。

如果您有任何问题或提示,请在下面发表评论。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯