Ich weiß, dass ich unter Windows Probleme haben kann ipconfig /displaydns
und 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 /displaydns
und 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:
systemd
gab es fast kein DNS-Caching auf BetriebssystemebeneVorher systemd
gab es unter Linux (und wahrscheinlich unter den meisten Unix-Betriebssystemen) kein DNS-Caching auf Betriebssystemebene, es sei denn, nscd
oder es dnsmasq
wurde installiert und ausgeführt.
Selbst dann war die DNS-Caching-Funktion von nscd
zumindest in Debian standardmäßig deaktiviert, weil sie fehlerhaft ist .
Was dnsmasq
, das scheint Caching im RAM auftreten standardmäßig.
dnsmasq
standardmäßig verwendet, daher könnte unix.stackexchange.com/q/162973/79839 nützlich sein.
systemd
wahrscheinlich wird systemd-resolved
standardmäßig ausgeführt wird, das tut Cache DNS Ergebnisse auf der Grundlage ihrer TTL
nscd
ist 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/hosts
fü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 nscd
Cache zu untersuchen, ohne das Binärformat zu decodieren.