ipconfig /displaydns
Windowsでは、ローカルDNSのキャッシュされたコンテンツを発行して表示できることを知っています。
LinuxでDNSのキャッシュコンテンツを一覧表示するには?
できるだけ多くのクロスディストリビューションソリューションを入手したいと思います。
答え1
以前は、systemd
オペレーティングシステムレベルのDNSキャッシュはほとんどありませんでした。
以前は、systemd
Linux(およびおそらくほとんどのUnix)にオペレーティングシステムレベルのDNSキャッシュがありませんでした。nscd
またはdnsmasq
インストールして実行中です。
nscd
それにもかかわらず、少なくとも Debian では、DNS キャッシュはデフォルトで無効になっています。壊れた。
に関してはdnsmasq
、それではキャッシュがRAMで発生しているようです。基本的に。
答え2
nscd
ネームサービスキャッシュデーモン。これは、Linux、Solaris、およびその他のオペレーティングシステムでネームサービス検索をキャッシュするために使用されるユーティリティです。ここでネームサービスは一般的な用語であり、厳密にはホスト検証に限定されず、ユーザ、グループなども含まれる。
使用できますが、キャッシュの実際の内容を表示する方法がわかりません/usr/sbin/nscd -g
。
これは、キャッシュがどのような問題を解決しているかを完全には示していませんが、少なくともキャッシュがどれだけ効率的かを示します。
代替キャッシュツール(DNSMASQなど)を使用している場合は、他のオプションがあります。
答え3
を使用すると、nscd
バイナリキャッシュファイルにASCII文字列を表示して内容(およびその他のジャンク)を表示できます。 Debian/Ubuntu では、このファイルが/var/cache/nscd/hosts
ホスト/DNS キャッシュに使用されるため、実行してstrings /var/cache/nscd/hosts
キャッシュ内のホストを表示できます。
nscd
バイナリ型をデコードせずにキャッシュをチェックする正しい方法がないようですので、これは完全にハッキングです。
答え4
SIGUSR1 を systemd-resolved プロセスに送信すると、Journalctl を使用してキャッシュを表示できます。
killall -USR1 systemd-resolved && journalctl -u systemd-resolved | grep -A 100000 "CACHE:"