服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-10-19 更新于 2026-10-19 简米科技 4,168 字 10 分钟阅读

如何查看本机域名记录?本地DNS缓存查询方法详解,怎么查DNS缓存记录

导读本地DNS缓存查询并不复杂,你自己就能用系统自带命令搞定,在Windows系统里打开命令提示符输入ipconfig /displaydns即可查看全部缓存记录;在macOS上则要输入sudo killall -INFO mDNSResponder;Linux系统通常用systemd-resolve --stat……

本地DNS缓存查询并不复杂,你自己就能用系统自带命令搞定。在Windows系统里打开命令提示符输入ipconfig /displaydns即可查看全部缓存记录;在macOS上则要输入sudo killall -INFO mDNSResponder;Linux系统通常用systemd-resolve --statistics(新版)或nslookup(老版本),下面这份指南会把各个系统的查询方法、缓存清理和常见问题全部拆开讲清楚,你可以直接照着操作。

本地DNS缓存怎么查询?先搞懂缓存机制再动手

DNS缓存相当于你电脑上的“电话簿”,记录着最近访问过的域名和对应IP地址,当你第一次访问某个网站时,系统会向DNS服务器发起询问,得到结果后就把这个映射关系暂存在本地,下次再访问就直接从本地读取,省去网络请求时间,打开网页自然更快。

行业共识认为,DNS缓存命中率在多数情况下能达到80%以上,这也解释了为什么清空缓存后首次访问网站会明显变慢,理解了缓存存在的意义,我们再来看怎么把它“掏出来”研究。

Windows电脑DNS缓存查看命令与实操步骤

Windows系统查看缓存的方式最直观,一条命令就能把整个缓存列表全部导出。

使用ipconfig命令导出全部缓存记录

按Win + R打开运行窗口,输入cmd回车进入命令提示符,在光标处直接粘贴以下命令:

ipconfig /displaydns

按下回车后,屏幕会滚动输出大量记录,每条记录包含域名、记录类型、存活时间和IP地址等信息,比较长会分页缓慢,想逐行仔细看可以加管道符:

ipconfig /displaydns | more

需要把结果保存成文件慢慢分析,用这个:

ipconfig /displaydns > dns_cache.txt

导出的txt文件会保存在当前用户目录下,直接用记事本打开就能搜索域名。

用PowerShell筛选特定域名记录

缓存记录多的时候找指定域名有点费劲,PowerShell筛选功能更适合定向查询,右键开始菜单打开“Windows PowerShell”或“终端”,执行:

Get-DnsClientCache | Where-Object {$_.Entry -like "baidu"}

把baidu换成任何你关心的关键词即可,想看到更整洁的表格视图,直接运行:

Get-DnsClientCache | Format-Table Entry, Data, Type

如何查看本机域名记录?本地DNS缓存查询方法详解,怎么查DNS缓存记录

Windows DNS缓存查询失败怎么办

有时候命令执行后没有任何输出,或者提示“无法显示 DNS 解析程序缓存”,这通常意味着缓存服务没运行或者权限不够,先在服务管理器(services.msc)里确认“DNS Client”服务处于“正在运行”状态,然后右键命令提示符选择“以管理员身份运行”,重新执行一遍命令即可。

Mac电脑查看DNS缓存记录用什么命令

macOS系统没有Windows那种直接“倾倒”缓存的命令,因为苹果把缓存写入了一个加密的plist文件,出于隐私保护机制,用户无法直接读取所有记录。

通过日志流实时捕获域名请求

在Mac上想查看当前实际生效的DNS解析记录,推荐用日志流方式实时监测:

sudo log stream --predicate 'subsystem == "com.apple.mDNSResponder"' --info

执行后终端会滚动显示实时DNS解析事件,包含域名和解析结果,这个命令不会展示历史缓存,但能看到你当前访问网站时的实时解析数据。

macOS清空缓存的几条实用命令

没关系,清理缓存的方法倒是公开的,不同系统版本命令不一样,先确认版本再执行:

macOS Ventura (13)及更新版本:

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

macOS Monterey (12)及更早版本:

sudo killall -HUP mDNSResponder
sudo killall mDNSResponderHelper

执行后没有任何提示就是成功,这种“无输出”本身就是正常的反馈。

Linux系统本地DNS记录查询方法详解

Linux发行版太多,缓存查询方式也随系统架构而变化,搞清楚原因,方法自然就懂了。

systemd-resolved系统的查询方式

新版Ubuntu、Debian等大多数使用systemd的发行版,缓存由systemd-resolved服务管理,查询统计信息:

systemd-resolve --statistics

看到Cache Current Size后面的数字就是当前缓存条目数量,想查看具体缓存内容,执行:

systemd-resolve --cache=yes --resolve baidu.com

这会强制查询并显示对应域名的缓存记录状态。

老式Linux发行版的思路

CentOS 6、Ubuntu 16.04等老系统默认不缓存DNS记录,每次查询都直接访问配置的DNS服务器,这时候检查缓存意义不大,但可以确认当前生效的DNS服务器地址:

如何查看本机域名记录?本地DNS缓存查询方法详解,怎么查DNS缓存记录

cat /etc/resolv.conf

如果显示nameserver 127.0.0.53或类似本地地址,说明有本地解析服务在运行,查询方式参考上文systemd相关操作。

本地DNS缓存怎么清理才彻底?异常情况与强制刷新

缓存时间一长可能导致IP地址记录过期、网站无法访问,或者DNS劫持后残余错误记录,掌握清理方法属于进阶必备技能,解决实际问题时还挺关键的。

Windows清理缓存三步走

在管理员权限的命令提示符中依次执行:

ipconfig /flushdns
ipconfig /registerdns
netsh winsock reset

第一条清除DNS解析缓存,第二条重新注册电脑的DNS记录,第三条重置Winsock目录(网络协议配置),三连操作配合重启浏览器,多数DNS异常都能解决。

清理缓存后需要手动补一条重置命令

浏览器自身也有独立的DNS缓存,Chrome、Edge这类Chromium内核浏览器清完系统缓存后,在地址栏访问:

chrome://net-internals/#dns

点击“Clear host cache”按钮,把浏览器层级的缓存也清一遍,否则可能依然访问到旧地址。

什么时候需要强制刷新缓存

以下几种场景直接执行缓存清理最有价值:

  • 网站刚迁移服务器,域名解析更新了你却打不开
  • 浏览器访问某网站被跳转到陌生页面,怀疑DNS污染
  • 修改了hosts文件但访问的IP地址没变化
  • 频繁出现“DNS_PROBE_FINISHED_NXDOMAIN”错误

这些情况通常执行一次系统缓存清理即可恢复正常,若问题依旧存在,换个公共DNS服务器(比如114.114.114.114)通常能解决解析异常。

清理DNS缓存会影响正在进行的网络活动吗

清理缓存对当前已建立的网络连接没有影响,正在下载的文件、视频通话不会中断,唯一的变化是下次访问网站时需要重新向DNS服务器发起解析请求,首次打开页面会多几百毫秒延迟,感觉上就是“稍微慢了一点”,之后恢复正常,日常使用可以放心执行清理操作。

本地DNS记录查询的三大注意事项

实际操作过程中有几个容易踩坑的细节,单独梳理出来提醒一下。

缓存记录≠实时解析结果

ipconfig /displaydns显示的TTL(存活时间)是从DNS服务器获取时计算的,不反映缓存已存在多久,记录过期后会自动失效并重新请求,手动查看时没必要纠结具体数值含义。

如何查看本机域名记录?本地DNS缓存查询方法详解,怎么查DNS缓存记录

有管理员权限才能看到完整缓存

Windows的DNS Client服务记录的缓存包含系统服务和第三方应用触发的大量条目,某些受保护条目在普通权限下不可见,遇到输出记录比预期少的情况,先检查是否用了管理员身份运行终端。

修改hosts文件不会改变缓存查询优先级

Windows系统检查缓存的顺序是“本地DNS缓存 → hosts文件 → DNS服务器”,修改hosts后立即生效,无需清理缓存;但清理缓存也不会重置hosts映射关系,两者互不影响。

问答环节:关于本地DNS缓存的高频疑问解答

Q:为什么ipconfig /displaydns查询结果里找不到我想要的域名?

A:DNS缓存默认遵循TTL机制自动淘汰,如果域名从未被访问过,或者对应记录的TTL已到期清除,就不会出现在缓存列表中,还有一种情况是浏览器自带预解析机制(比如Chrome的预连接),这类请求可能未经过系统DNS Client服务,自然也不会留下记录。

Q:手机上有办法查看本地DNS缓存吗?

A:Android和iOS系统均未开放直接查看DNS缓存的系统命令。 获取root或越狱权限后,Android通过终端执行dumpsys dropbox --print可以间接查看部分网络日志,但操作复杂且稳定性一般,日常使用并不推荐折腾,多数情况下手机DNS异常直接重启或切换飞行模式即可解决。

Q:公司内网改域名解析后,多久才能正常访问?

A:这取决于TTL值,TTL为300秒的域名,内网修改解析后5分钟内全网生效;TTL为86400秒的域名最长要等24小时,着急的话在受影响电脑上强制清理缓存,再把DNS服务器改为内网指定地址,通常几分钟内即可恢复访问。

掌握本地DNS缓存的查看和清理方法,很多网络疑难杂症都能自己动手排查。第一优先顺序是在Windows上记住ipconfig /displaydns和/flushdns这对组合拳,能解决日常大半DNS异常问题;Mac用户记住sudo killall -HUP mDNSResponder这条清理命令;Linux用户根据系统版本选择对应方法,搞清楚原理再动手操作,比网上流传的各种“修复工具”靠谱得多。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱