web-dev-qa-db-ja.com

OSXでDNSキャッシュを表示する方法は?

OSX 10.11.6のDNSキャッシュのエントリを一覧表示するには、dscacheutil -statisticsしかし、それはうまくいきませんでした。

$ Sudo dscacheutil -statistics
Unable to get details from the cache node

DNSキャッシュの内容をフラッシュせずに印刷するにはどうすればよいですか?

14
Praseetha KR

mDNSResponder(マルチキャストDNSデーモン)SIGINFOシグナルは、内部状態のスナップショットサマリーを/var/log/system.log(キャッシュの詳細を含む)。これをする:

1つの端末でシステムログを開いたままにします。

tail -f /private/var/log/system.log

別の端末からSIGINFOシグナルをmDNSResponderに送信します。

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

17
Praseetha KR

@PrasseethaKRと@kjagielloが指摘するように、High Sieraでは、mDNSResponerはsyslogからlogに移動しました。さらに、DNSルックアップメッセージはプライベートと見なされ、<private>コンソールとlog streamデフォルトでは。

High SierraでDNSルックアップを表示するには、ターミナルを開いて実行します:

Sudo log config --mode "private_data:on"
log stream --predicate 'process == "mDNSResponder"' --info

プライベートの使用に戻るには、次のコマンドを実行します。

Sudo log config --mode "private_data:off"

乾杯!

10
Troy Sandal