Wie lese ich den lokalen DNS-Cache-Inhalt?

31

Ich weiß, dass ich unter Windows Probleme haben kann ipconfig /displaydnsund den Cache-Inhalt des lokalen DNS sehe.

Wie kann ich den Cache-Inhalt des DNS unter Linux auflisten?

Ich möchte so viel Cross-Distribution-Lösung wie möglich bekommen.

Hanan N.
quelle
4
Soweit mir bekannt ist, wird auf dem Client unter Linux (Resolver) kein DNS-Cache verwaltet, es sei denn, das System verwendet auf dem Client nur den DNS-Dienst für die lokale Zwischenspeicherung.
Nikhil Mulley
Sie haben immer die /etc/hostsDatei, die Einträge enthalten kann, die von DNS-Blacklisting-Diensten generiert wurden.

Antworten:

15

Zuvor systemdgab es fast kein DNS-Caching auf Betriebssystemebene

Vorher systemdgab es unter Linux (und wahrscheinlich unter den meisten Unix-Betriebssystemen) kein DNS-Caching auf Betriebssystemebene, es sei denn, nscdoder es dnsmasqwurde installiert und ausgeführt.

Selbst dann war die DNS-Caching-Funktion von nscdzumindest in Debian standardmäßig deaktiviert, weil sie fehlerhaft ist .

Was dnsmasq, das scheint Caching im RAM auftreten standardmäßig.

Serge Stroobandt
quelle
2
Viele Systeme werden heutzutage dnsmasqstandardmäßig verwendet, daher könnte unix.stackexchange.com/q/162973/79839 nützlich sein.
Küken
1
Und diese Tage, etwas mit systemdwahrscheinlich wird systemd-resolvedstandardmäßig ausgeführt wird, das tut Cache DNS Ergebnisse auf der Grundlage ihrer TTL
Drew
9

nscdist der Name Service Caching Daemon. Dies ist das Dienstprogramm, mit dem Linux, Solaris und andere Betriebssysteme Namensdienst-Lookups zwischenspeichern. Name Service ist in diesem Fall ein Oberbegriff, der nicht nur auf die Hostauflösung beschränkt ist, sondern auch auf Benutzer, Gruppen usw.

Ich kenne keine Möglichkeit, den tatsächlichen Inhalt des Caches anzuzeigen, obwohl Sie mit Statistiken anzeigen können /usr/sbin/nscd -g.

Das kann Ihnen zumindest zeigen, wie effizient Ihr Cache ist, obwohl nicht genau das, was er auflöst.

Sie haben möglicherweise andere Optionen, wenn Sie ein alternatives Caching-Tool wie DNSMASQ verwenden.

Tim Kennedy
quelle
3

Wenn Sie verwenden nscd, können Sie den Inhalt (und möglicherweise einen anderen Müll) anzeigen, indem Sie die ASCII-Zeichenfolgen aus der Binär-Cache-Datei anzeigen. In Debian / Ubuntu ist diese Datei /var/cache/nscd/hostsfür den Hosts / DNS-Cache bestimmt, sodass Sie ausführen können strings /var/cache/nscd/hosts, um die Hosts im Cache anzuzeigen.

Beachten Sie, dass dies ein totaler Hack ist, da es anscheinend keinen geeigneten Weg gibt, den nscdCache zu untersuchen, ohne das Binärformat zu decodieren.

SteveK
quelle