如何查看 systemd-resolve DNS 缓存?

joh*_*nry 9 dns cache systemd-resolved

使用sudo systemd-resolve --statistics我可以看到当前的DNS缓存统计信息,例如:

Cache                     
  Current Cache Size: 68  
          Cache Hits: 412 
        Cache Misses: 461
Run Code Online (Sandbox Code Playgroud)

我想查看 DNS 缓存的所有条目(此处为 68),可以吗?

use*_*368 18

您可以使用以下命令将信号USR1(用户定义信号1)发送到systemd-resolved

sudo pkill -USR1 systemd-resolve
Run Code Online (Sandbox Code Playgroud)

这不会停止服务。它只是告诉systemd-resolved将所有当前缓存条目(以及一些其他信息)写入系统日志。

然后,您可以使用以下命令将写入的日志消息导出systemd-resolved到文本文件:

sudo journalctl -u systemd-resolved > ~/resolved.txt
Run Code Online (Sandbox Code Playgroud)

在您选择的文本编辑器中打开以这种方式生成的文本文件并搜索CACHE:. 之后,将出现缓存条目列表。

请注意,文本文件可能包含多行包含CACHE:.