이 글에서는 Windows 11/10에서 DNS 캐시 내용을 확인하는 방법을 소개합니다. DNS 캐시란 운영체제나 웹 브라우저에 이전 DNS 조회 정보가 임시로 저장된 것을 말합니다.
DNS 캐시 내용 확인 방법

DNS 캐시에는 원격 서버 이름과 해당 서버에 대응되는 IP 주소 목록이 저장되어 있습니다. 캐시 항목은 웹 사이트 방문, FTP 서버 접속 등 원격 호스트에 연결하려 할 때 발생하는 DNS 조회 과정에서 생성됩니다. Windows는 이 캐시를 활용해 웹 기반 애플리케이션의 성능을 향상시킵니다.
명령 프롬프트 사용하기
DNS 캐시 내용을 확인하려면 관리자 권한으로 실행한 명령 프롬프트(CMD)에서 다음 명령어를 입력합니다.
ipconfig /displaydns
그러면 조회 결과가 화면에 표시됩니다. 각 항목의 의미는 다음과 같습니다.
- 레코드 이름(Record Name): DNS에 조회한 이름으로, 해당 이름에 속한 레코드들을 의미합니다.
- 레코드 유형(Record Type): 레코드의 종류로, 숫자 또는 이름 형태로 표시됩니다. DNS 프로토콜에서 각 유형마다 고유 번호가 지정되어 있습니다.
- TTL(Time To Live): 캐시 항목이 만료되기까지 남은 시간(초 단위)입니다.
- 데이터 길이(Data Length): 데이터의 바이트 단위 길이입니다. 예를 들어 IPv4 주소는 4바이트, IPv6 주소는 16바이트입니다.
- 섹션(Section): DNS 응답 중 실제 질의에 대한 답변 부분입니다.
- 추가 정보(Additional): 실제 답변을 찾는 데 필요할 가능성이 높은 정보를 포함합니다.
- CNAME: 정식 이름(Canonical Name)을 의미합니다.
결과를 파일로 저장하고 싶다면 다음 명령어를 사용해 출력 결과를 dnscachecontents.txt 텍스트 문서로 내보낼 수 있습니다.
ipconfig /displaydns > dnscachecontents.txt
PowerShell 사용하기

DNS 레코드 객체 컬렉션 형태로 동일한 정보를 얻어 데이터베이스에 손쉽게 내보내거나 저장하고 싶다면 PowerShell에서 다음 cmdlet을 실행합니다.
Get-DnsClientCache
이 명령에 대한 전체 도움말을 보려면 아래 명령어를 입력합니다.
Help Get-DnsClientCache -full
DNS 캐시 비우기(플러시)
명령 프롬프트에서 다음 명령어를 입력하면 DNS 캐시를 즉시 삭제할 수 있습니다.
ipconfig /flushdns
또한 무료 유틸리티인 FixWin for Windows를 사용하면 클릭 한 번으로 DNS 캐시를 비우는 등의 작업을 간편하게 수행할 수 있습니다.
DNS 캐시 끄기 및 켜기
특정 세션에서만 DNS 캐싱을 끄려면 net stop dnscache를 입력하고 Enter 키를 누릅니다.
DNS 캐싱을 다시 켜려면 net start dnscache를 입력하고 Enter 키를 누릅니다.
물론 컴퓨터를 재시작하면 어떤 경우에도 DNS 캐싱은 자동으로 다시 켜집니다.
DNS 캐시 영구 비활성화하기
어떤 이유로든 DNS 캐싱을 완전히 비활성화하고 싶다면 시작 메뉴 검색창에 services(서비스)를 입력하고 Enter 키를 눌러 서비스 관리자를 연 뒤, 'DNS Client' 서비스를 찾습니다.
DNS 클라이언트 서비스(dnscache)는 도메인 이름 시스템(DNS) 이름을 캐시하고 이 컴퓨터의 전체 컴퓨터 이름을 등록합니다. 이 서비스가 중지되더라도 DNS 이름 확인은 계속 작동하지만, DNS 이름 조회 결과는 캐시되지 않으며 컴퓨터 이름도 등록되지 않습니다. 서비스를 사용 안 함으로 설정하면 이 서비스에 명시적으로 의존하는 다른 서비스들이 시작되지 못할 수 있습니다.
해당 서비스를 더블클릭해 속성 창을 열고, 시작 유형을 '수동'에서 '사용 안 함'으로 변경합니다. 단, DNS 클라이언트 서비스를 비활성화하면 DNS 조회에 더 많은 시간이 걸릴 수 있으니 주의하세요.
함께 보면 좋은 관련 자료:
- Windows에서 DNS 설정 변경하는 방법
- DNS 설정 변경으로 웹 브라우징 속도 관리하기
- DNS 설정이 변조되었는지 확인하는 방법