Come leggere i contenuti della cache DNS locale?


31

So che su Windows posso emettere ipconfig /displaydnse vedo il contenuto della cache del DNS locale.

Come posso elencare il contenuto della cache del DNS in Linux?

Vorrei ottenere il più possibile la soluzione cross-distro.


4
Per quanto ne so, non esiste cache DNS gestita sul client in Linux (resolver) a meno che il sistema non stia utilizzando la cache locale solo sul servizio DNS sul client.
Nikhil Mulley

Hai sempre il /etc/hostsfile che può contenere voci generate dai servizi di blacklist DNS.

Risposte:


15

Prima di allora systemdnon esisteva quasi alcuna memorizzazione nella cache DNS a livello di sistema operativo

Prima systemdnon esisteva la memorizzazione nella cache DNS a livello di sistema operativo su Linux (e probabilmente la maggior parte di Unix), a meno che nscdo non dnsmasqfosse installato e funzionante.

Anche allora, la funzione di memorizzazione nella cache DNS di nscdDebian era disabilitata per impostazione predefinita almeno in Debian, semplicemente perché era rotta .

Per quanto riguarda dnsmasq, la memorizzazione nella cache sembra avvenire nella RAM per impostazione predefinita.


2
Oggigiorno molti sistemi usano dnsmasqdi default, quindi unix.stackexchange.com/q/162973/79839 potrebbe essere utile.
pulcini,

1
E questi giorni, tutto ciò utilizzando systemdprobabilmente avrà systemd-resolvedin esecuzione di default che fa della cache DNS risultati in base alla loro TTL
Drew

9

nscdè il demone della cache del servizio nomi. Questa è l'utilità utilizzata da Linux, Solaris e altri per memorizzare nella cache le ricerche del servizio dei nomi. Il nome del servizio in questo caso è un termine generico, non strettamente limitato alla risoluzione dell'host, ma anche utenti, gruppi, ecc.

Non conosco un modo per vedere il contenuto effettivo della cache, anche se è possibile visualizzare le statistiche con /usr/sbin/nscd -g.

Questo può almeno mostrarti quanto è efficiente la tua cache, anche se non esattamente ciò che sta risolvendo.

Potresti avere altre opzioni se stai utilizzando uno strumento di memorizzazione nella cache alternativo, come DNSMASQ.


3

Se si sta utilizzando nscd, è possibile visualizzare i contenuti (e possibilmente alcuni altri rifiuti), mostrando le stringhe ASCII dal file di cache binaria. In Debian / Ubuntu, quel file è /var/cache/nscd/hostsper la cache host / DNS, quindi puoi eseguirlo strings /var/cache/nscd/hostsper vedere gli host nella cache.

Si noti che si tratta di un hack totale in quanto non esiste apparentemente un modo corretto di ispezionare la nscdcache senza decodificare il formato binario.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.