我知道在Windows上我可以发出ipconfig /displaydns,我可以看到本地DNS的缓存内容。
如何在Linux中列出DNS的缓存内容?
我想得到尽可能多的交叉发行解决方案。
发布于 2015-06-22 17:40:57
systemd之前,几乎没有操作系统级DNS缓存。
在systemd之前,Linux上没有操作系统级的DNS缓存(可能还有大多数Unix),除非安装和运行了nscd或dnsmasq。
即便如此,nscd的DNS缓存功能在Debian中还是默认禁用的,这仅仅是因为它坏了。
至于dnsmasq,默认情况下是缓存似乎发生在RAM中.。
发布于 2012-01-07 20:16:06
nscd是名称服务缓存守护进程。这是Linux、Solaris和其他用于缓存名称服务查找的实用工具。在本例中,Name Service是一个通用术语,不仅严格限于主机解析,还包括用户、组等。
我不知道如何查看缓存的实际内容,尽管您可以使用/usr/sbin/nscd -g显示统计信息。
这至少可以向您展示缓存的效率,但并不完全是它正在解决的问题。
如果使用替代缓存工具(如DNSMASQ ),则可能还有其他选项。
发布于 2016-02-12 02:57:26
如果使用的是nscd,则可以通过显示二进制缓存文件中的ASCII字符串来查看内容(可能还有其他垃圾)。在Debian/Ubuntu中,该文件是主机/DNS缓存的/var/cache/nscd/hosts,因此您可以运行strings /var/cache/nscd/hosts来查看缓存中的主机。
请注意,这是一个完全的黑客,因为在不解码二进制格式的情况下,似乎没有适当的方法检查nscd缓存。
https://unix.stackexchange.com/questions/28553
复制相似问题