So che su Windows posso emettere ipconfig /displaydns
e 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.
So che su Windows posso emettere ipconfig /displaydns
e 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.
Risposte:
systemd
non esisteva quasi alcuna memorizzazione nella cache DNS a livello di sistema operativoPrima systemd
non esisteva la memorizzazione nella cache DNS a livello di sistema operativo su Linux (e probabilmente la maggior parte di Unix), a meno che nscd
o non dnsmasq
fosse installato e funzionante.
Anche allora, la funzione di memorizzazione nella cache DNS di nscd
Debian 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.
dnsmasq
di default, quindi unix.stackexchange.com/q/162973/79839 potrebbe essere utile.
systemd
probabilmente avrà systemd-resolved
in esecuzione di default che fa della cache DNS risultati in base alla loro TTL
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.
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/hosts
per la cache host / DNS, quindi puoi eseguirlo strings /var/cache/nscd/hosts
per 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 nscd
cache senza decodificare il formato binario.