要列出OSX 10.11.6中的DNS缓存项,我尝试了dscacheutil -statistics
,但没有工作。
$ sudo dscacheutil -statistics
Unable to get details from the cache node
我怎么能打印什么是有在DNS缓存而不刷新它?
mDNSResponder(组播DNS守护进程)SIGINFO信号可以将内部状态的快照摘要转储到/var/log/system.log
,包括缓存详细信息。要做到这一点:
保持系统日志在一个终端打开:
tail -f /private/var/log/system.log
从另一个终端向mDNSResponder发送SIGINFO信号:
sudo killall -INFO mDNSResponder
然后检查第一个终端的日志,您将能够看到缓存转储:
mDNSResponder[98]: ------------ Cache -------------
mDNSResponder[98]: Slt Q TTL if U Type rdlen
mDNSResponder[98]: 52 1827 -U- CNAME 17 www.sublimetext.com. CNAME sublimetext.com.
...
...
mDNSResponder[98]: Cache currently contains 154 entities; 3 referenced by active questions
(更多信息:man mDNSResponder
)
正如@PrasseethaKR和@kjagiello指出的那样,在High sierra, mDNSResponer已经从syslog
移动到log
。此外,您的DNS查找消息现在被认为是私有的,默认情况下将在控制台和log stream
中显示为<private>
。
要查看您在High Sierra上的DNS查找,打开终端并运行:
sudo log config --mode "private_data:on"
log stream --predicate 'process == "mDNSResponder"' --info
要恢复使用private,只需运行以下命令:
sudo log config --mode "private_data:off"
干杯!