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.
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.
Risposte:
systemdnon esisteva quasi alcuna memorizzazione nella cache DNS a livello di sistema operativoPrima 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.
dnsmasqdi default, quindi unix.stackexchange.com/q/162973/79839 potrebbe essere utile.
systemdprobabilmente avrà systemd-resolvedin 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/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.