Vím, že v systému Windows mohu vydat ipconfig /displaydns
a vidím obsah mezipaměti místního DNS.
Jak mohu vypsat obsah mezipaměti DNS v systému Linux?
Chtěl bych získat co nejvíce řešení napříč distro.
systemd
neexistovalo téměř žádné ukládání do mezipaměti DNS na úrovni OSPřed systemd
neexistovalo v systému Linux (a pravděpodobně většina Unix) mezipaměti DNS na úrovni OS, pokud nscd
nebo dnsmasq
byl nainstalován a spuštěn.
I v tomto případě byla funkce ukládání do mezipaměti DNS nscd
ve výchozím nastavení v Debianu deaktivována, jednoduše proto, že je přerušeno .
Pokud jde o dnsmasq
, zdá se, že ve výchozím nastavení cache] dochází v RAM .
nscd
je démon Name Service Caching Daemon. Toto je obslužný program, který používají Linux, Solaris a další k vyhledávání názvů služeb v mezipaměti. Název služby je v tomto případě obecný pojem, který není omezen výhradně na rozlišení hostitele, ale také na uživatele, skupiny atd.
Nevím, jak zobrazit skutečný obsah mezipaměti, i když můžete zobrazit statistiky pomocí /usr/sbin/nscd -g
.
To vám může přinejmenším ukázat, jak efektivní je vaše mezipaměť, i když ne přesně to, co řeší.
Pokud používáte alternativní nástroj pro ukládání do mezipaměti, například DNSMASQ, můžete mít další možnosti.
Pokud používáte nscd
, můžete zobrazit obsah (a možná i nějaké další odpadky) zobrazením řetězců ASCII z binárního souboru mezipaměti). V Debian/Ubuntu to soubor je /var/cache/nscd/hosts
pro hostitele/DNS cache, takže můžete spustit strings /var/cache/nscd/hosts
pro zobrazení hostitelů v mezipaměti.
Všimněte si, že se jedná o úplný hack, protože zjevně neexistuje žádný vhodný způsob, jak zkontrolovat mezipaměť nscd
bez dekódování binárního formátu.