Como ler o conteúdo do cache DNS local?

25

Eu sei que no Windows eu posso emitir ipconfig /displaydns e vejo o conteúdo de cache do DNS local.

Como posso listar o conteúdo de cache do DNS no Linux?

Gostaria de obter o máximo possível de solução de distribuição cruzada.

    
por Hanan N. 07.01.2012 / 19:41

3 respostas

12

Não há cache de DNS no nível do sistema operacional

No Linux (e provavelmente na maioria dos Unix), não há armazenamento em cache no nível do sistema operacional a menos que nscd está instalado e em execução. Mesmo assim, o recurso de cache DNS de nscd está desativado por padrão no Debian, pelo menos, simplesmente porque está quebrado .

O resultado prático é que o seu sistema Linux provavelmente não faz cache de DNS no nível do SO.

    
por 22.06.2015 / 19:40
9

nscd é o daemon de armazenamento em cache do serviço de nomes. Esse é o utilitário que o Linux, o Solaris e outros usam para armazenar em cache consultas de serviço de nomes. O Serviço de nomes, neste caso, é um termo genérico, não estritamente limitado à resolução do host, mas também aos usuários, grupos, etc.

Não conheço uma maneira de ver o conteúdo real do cache, embora você possa exibir estatísticas com /usr/sbin/nscd -g .

Isso pode mostrar, pelo menos, a eficiência do seu cache, embora não exatamente o que ele está resolvendo.

Você pode ter outras opções se estiver usando uma ferramenta alternativa de cache, como o DNSMASQ.

    
por 07.01.2012 / 21:16
3

Se você estiver usando nscd , poderá visualizar o conteúdo (e possivelmente algum outro lixo), mostrando as sequências ASCII do arquivo de cache binário. No Debian / Ubuntu, esse arquivo é /var/cache/nscd/hosts para o cache de hosts / DNS, então você pode executar strings /var/cache/nscd/hosts para ver os hosts no cache.

Observe que esse é um hack total, já que aparentemente não há uma maneira adequada de inspecionar o nscd cache sem decodificar o formato binário.

    
por 12.02.2016 / 03:57

Tags