Jak czytać zawartość lokalnej pamięci podręcznej DNS?


31

Wiem, że w systemie Windows mogę wydawać ipconfig /displaydnsi widzę zawartość pamięci podręcznej lokalnego DNS.

Jak mogę wyświetlić zawartość pamięci podręcznej DNS w systemie Linux?

Chciałbym uzyskać jak najwięcej rozwiązań dla wielu dystrybutorów.


4
O ile mi wiadomo, nie ma pamięci podręcznej DNS na kliencie w systemie Linux (resolver), chyba że system używa lokalnej pamięci podręcznej tylko usługi dns na kliencie.
Nikhil Mulley,

Zawsze masz /etc/hostsplik, który może zawierać wpisy generowane przez usługi czarnej listy DNS.

Odpowiedzi:


15

Wcześniej systemdprawie nie było buforowania DNS na poziomie systemu operacyjnego

Wcześniej systemdnie było OS-level cache DNS w systemie Linux (i prawdopodobnie większość Unix), chyba że nscdalbo dnsmasqzostał zainstalowany i uruchomiony.

Nawet wtedy funkcja buforowania DNS nscdzostała domyślnie wyłączona w Debianie przynajmniej dlatego, że jest zepsuta .

Jeśli chodzi o dnsmasqThe buforowanie wydaje się występować w pamięci RAM domyślnie.


2
Obecnie wiele systemów używa dnsmasqdomyślnie, więc unix.stackexchange.com/q/162973/79839 może być przydatny.
pisklęta

1
W dzisiejszych czasach wszystko, co używa systemd, prawdopodobnie będzie systemd-resolveddomyślnie działać, co powoduje buforowanie wyników DNS na podstawie ich TTL
Drew,

9

nscdjest demonem buforowania usługi nazw. Jest to narzędzie, którego używają Linux, Solaris i inne, aby buforować wyszukiwania usług nazw. Usługa nazw w tym przypadku jest terminem ogólnym, nie ograniczającym się ściśle do rozpoznawania hosta, ale także użytkowników, grup itp.

Nie znam sposobu, aby zobaczyć rzeczywistą zawartość pamięci podręcznej, chociaż możesz wyświetlić statystyki za pomocą /usr/sbin/nscd -g.

To może przynajmniej pokazać, jak wydajna jest pamięć podręczna, choć nie do końca to, co rozwiązuje.

Możesz mieć inne opcje, jeśli używasz alternatywnego narzędzia buforowania, takiego jak DNSMASQ.


3

Jeśli używasz nscd, możesz wyświetlić zawartość (i ewentualnie inne śmieci), pokazując ciągi ASCII z pliku binarnej pamięci podręcznej. W Debianie / Ubuntu ten plik dotyczy /var/cache/nscd/hostspamięci podręcznej hostów / DNS, więc możesz uruchomić, strings /var/cache/nscd/hostsaby zobaczyć hosty w pamięci podręcznej.

Zauważ, że jest to całkowity hack, ponieważ pozornie nie ma właściwego sposobu na sprawdzenie nscdpamięci podręcznej bez dekodowania formatu binarnego.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.