로컬 DNS 캐시 내용을 읽는 방법은 무엇입니까? ipconfig /displaydns있으며 로컬

Windows에서 발행 할 수 ipconfig /displaydns있으며 로컬 DNS의 캐시 내용을 볼 수 있습니다 .

Linux에서 DNS의 캐시 컨텐츠를 나열하려면 어떻게해야합니까?

크로스 디스트로 솔루션을 최대한 많이 얻고 싶습니다.



답변

이전 systemd에는 OS 수준의 DNS 캐싱이 거의 없었습니다.

이전에 systemd리눅스 (그리고 아마도 대부분의 유닉스)에는 OS 수준의 DNS 캐싱이 없었다,하지 않는 nscd이상이 dnsmasq설치되어 실행되었다.

심지어 다음의 기능을 캐싱하는 DNS는 nscd간단하기 때문에, 적어도 데비안에서 기본적으로 사용했다 가 고장 .

에 관해서 dnsmasq캐싱 RAM에서 발생하는 것 같습니다 기본적으로.


답변

nscd이름 서비스 캐싱 데몬입니다. 이것은 Linux, Solaris 및 기타에서 이름 서비스 조회를 캐시하는 데 사용하는 유틸리티입니다. 이 경우 이름 서비스는 일반적인 용어이며 호스트 확인, 사용자, 그룹 등으로 엄격히 제한되지 않습니다.

통계를 표시 할 수는 있지만 캐시의 실제 내용을 보는 방법을 모르겠습니다 /usr/sbin/nscd -g.

캐시가 정확히 해결되는 것은 아니지만 캐시의 효율성을 보여줄 수 있습니다.

DNSMASQ와 같은 대체 캐싱 도구를 사용하는 경우 다른 옵션이있을 수 있습니다.


답변

을 사용하는 경우 nscd이진 캐시 파일의 ASCII 문자열을 표시하여 내용 (및 기타 가비지)을 볼 수 있습니다. 데비안 / 우분투에서이 파일은 /var/cache/nscd/hosts호스트 / DNS 캐시 용이므로 캐시 strings /var/cache/nscd/hosts에서 호스트를 볼 수 있습니다 .

nscd바이너리 형식을 디코딩하지 않고 캐시 를 검사하는 적절한 방법이 없기 때문에 이것은 완전한 해킹 입니다.