로컬 DNS 캐시 내용을 읽는 방법은 무엇입니까?


31

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

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

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


4
내가 아는 한, 시스템이 클라이언트에서 로컬 캐싱 전용 DNS 서비스를 사용하지 않는 한 Linux (리졸버)의 클라이언트에는 DNS 캐시가 유지되지 않습니다.
Nikhil Mulley

/etc/hostsDNS 블랙리스트 서비스에서 생성 한 항목이 포함 된 파일이 항상 있습니다 .

답변:


15

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

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

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

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


2
요즘 많은 시스템이 dnsmasq기본적으로 사용 되므로 unix.stackexchange.com/q/162973/79839 가 유용 할 수 있습니다.
병아리

1
그리고 이러한 일, 아무것도 사용 systemd가능성이있을 것이다 systemd-resolved자신의 TTL을 기반으로 캐시 DNS 결과를 않습니다 기본적으로 실행
드류

9

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

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

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

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


3

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.