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.
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.
Antworten:
systemdgab es fast kein DNS-Caching auf BetriebssystemebeneVorher 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.
dnsmasqstandardmäßig verwendet, daher könnte unix.stackexchange.com/q/162973/79839 nützlich sein.
systemdwahrscheinlich wird systemd-resolvedstandardmäßig ausgeführt wird, das tut Cache DNS Ergebnisse auf der Grundlage ihrer TTL
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.
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.