ローカルDNSキャッシュの内容を読み取る方法は?


31

Windowsでは発行できipconfig /displaydns、ローカルDNSのキャッシュコンテンツが表示されることを知っています。

LinuxでDNSのキャッシュコンテンツを一覧表示するにはどうすればよいですか?

可能な限りクロスディストリビューションソリューションを取得したいと思います。


4
私の知る限り、システムがクライアントでローカルキャッシュのみのDNSサービスを使用していない限り、Linux(リゾルバ)のクライアントでDNSキャッシュは維持されません。
ニキルマーリー

/etc/hostsDNSブラックリストサービスによって生成されたエントリを含むファイルが常にあります。

回答:


15

以前はsystemd、OSレベルのDNSキャッシュはほとんどありませんでした

前にsystemdしない限り、そこにLinuxの(そしておそらくほとんどのUnix)にはOSレベルのDNSキャッシュは、なかったnscdか、dnsmasqインストールされ、実行されていました。

それでも、nscd少なくともDebian のDNSキャッシング機能は、単に壊れているという理由でデフォルトで無効にされていまし

に関してはdnsmasqキャッシュはデフォルトでRAMで発生するようです。


2
最近では多くのシステムdnsmasqがデフォルトで使用しているため、unix.stackexchange.com / q / 162973/79839が役立つ可能性があります。

1
そして、これらの日、何も使用してsystemd可能性がありますsystemd-resolved彼らのTTLに基づいてキャッシュDNSの結果を行い、デフォルトで実行されている
ドリュー

9

nscdネームサービスキャッシングデーモンです。これは、Linux、Solaris、およびその他がネームサービスルックアップをキャッシュするために使用するユーティリティです。この場合のネームサービスは一般的な用語であり、ホストの解決だけでなく、ユーザー、グループなどにも厳密に限定されています。

キャッシュの実際の内容を表示する方法はわかりませんが、で統計を表示できます/usr/sbin/nscd -g

少なくともキャッシュがどれだけ効率的であるかを示すことができますが、正確に解決しているわけではありません。

DNSMASQのような代替キャッシュツールを使用している場合、他のオプションがあります。


3

を使用している場合nscd、バイナリキャッシュファイルからASCII文字列を表示することにより、コンテンツ(および場合によってはその他のゴミ)を表示できます。Debian / Ubuntuでは、そのファイルは/var/cache/nscd/hostshosts / DNSキャッシュ用であるため、実行strings /var/cache/nscd/hostsしてキャッシュ内のホストを確認できます。

nscdバイナリ形式をデコードせずにキャッシュを検査する適切な方法がないように見えるため、これは完全なハックであることに注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.