Linux / 명령어 / dig - DNS 레코드와 응답 자세히 조회

dig는 DNS 서버에 질의해 A·AAAA·MX·TXT 등 레코드와 응답 상태를 자세히 보여 줍니다. 이름 해석 문제를 진단하거나 특정 DNS 서버의 답을 비교할 때 사용합니다.

dig 명령어란?

기본 질의는 보통 A 레코드이며, 결과의 ANSWER SECTION과 status를 구분해 읽습니다. +short는 간단한 결과만 보여 주어 상태·권한·TTL 맥락이 사라질 수 있습니다. DNS 응답은 캐시와 사용한 서버에 따라 달라질 수 있습니다.

기본 문법

dig [@DNS서버] 이름 [레코드형식] [옵션]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man dig으로 현재 시스템의 설명을 확인하세요.

사용 예제

A 레코드 확인

도메인의 IPv4 주소와 응답 상태를 살펴봅니다.

dig example.com A

메일 서버 레코드 확인

MX 레코드의 우선순위와 호스트를 확인합니다.

dig example.com MX

간단한 답만 보기

스크립트나 빠른 확인에 사용할 수 있으나 진단 정보는 줄어듭니다.

dig +short example.com A

DNS 응답의 각 필드 읽기

dig는 DNS(Domain Name System) 질의를 자세히 보여줍니다. +noall +answer는 답변 절만 남겨 레코드 이름·TTL·클래스·유형·값을 보기 쉽게 합니다.

dig +noall +answer example.com A

출력 형식 예시(IP와 TTL은 실제 응답과 다를 수 있음):

example.com. 300 IN A 192.0.2.10

300은 초 단위 TTL, IN은 인터넷 클래스, A는 IPv4 주소 레코드입니다. 답변이 없으면 질의 상태(NXDOMAIN 등), 조회 서버, 레코드 유형을 함께 확인해야 합니다. 여러 DNS 서버의 응답을 비교할 때는 @서버주소를 명시하세요.

주요 옵션과 형식

옵션·형식 설명
@서버 질의할 DNS 서버를 지정합니다.
A / AAAA / MX / TXT 조회할 레코드 형식을 지정합니다.
+short 짧은 답만 출력합니다.
+noall +answer 답변 섹션 중심으로 출력합니다.
-x 주소 역방향 DNS 질의를 수행합니다.
+trace 위임 경로를 따라 질의합니다.

사용할 때 주의할 점

+short 결과가 비어도 NXDOMAIN, NODATA, 서버 오류, 타임아웃을 구별할 수 없으므로 전체 응답의 상태를 확인하세요. dig는 직접 DNS를 질의하며 애플리케이션의 전체 이름 해석 경로와 다를 수 있습니다. /etc/hosts나 로컬 캐시 문제는 별도로 점검하세요.

자주 묻는 질문

dig 결과와 브라우저 접속 결과가 다른 이유는?

dig는 선택한 DNS 서버의 레코드 응답을 보지만 브라우저는 로컬 캐시, 프록시, /etc/hosts 또는 다른 해석 경로를 사용할 수 있습니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 dig 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 리눅스 역사 - 1991년 취미 프로젝트가 세계 인프라가 되기까지

Linux / 리눅스 역사 - 1991년 취미 프로젝트가 세계 인프라가 되기까지

리눅스는 1991년 시작된 커널 프로젝트에서 서버·클라우드·모바일을 떠받치는 기반 기술로 성장했습니다. UNIX와 GNU의 배경부터 배포판과 공동 개발 생태계의 확장까지 핵심 연표로 정리합니다.

Linux / 명령어 / readlink - 심볼릭 링크 대상 경로 확인

Linux / 명령어 / readlink - 심볼릭 링크 대상 경로 확인

Linux readlink 명령어로 심볼릭 링크에 저장된 대상 경로를 확인하는 방법을 설명합니다. 상대 링크, 깨진 링크, 경로 정규화 옵션과 realpath의 차이도 정리합니다.

Linux / 명령어 / timedatectl - 시간대와 시간 동기화 상태 관리

Linux / 명령어 / timedatectl - 시간대와 시간 동기화 상태 관리

Linux timedatectl 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / zip - 여러 파일을 ZIP 아카이브로 묶기

Linux / 명령어 / zip - 여러 파일을 ZIP 아카이브로 묶기

Linux zip 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.

Linux / 명령어 / su - 사용자 계정 전환

Linux / 명령어 / su - 사용자 계정 전환

Linux su 명령어로 다른 사용자 권한의 셸과 단일 명령을 실행하는 방법을 설명합니다. su와 su --login 차이, 환경 변수, PAM 인증, sudo·runuser 선택 기준과 보안 주의사항을 정리합니다.

Linux / 명령어 / command - 명령어 검색과 별칭 우회 실행

Linux / 명령어 / command - 명령어 검색과 별칭 우회 실행

셸 command 명령어로 함수 검색을 건너뛰어 원래 명령을 실행하고, command -v로 명령 존재 여부를 확인하는 방법을 설명합니다. -p·-V 옵션과 builtin·exec·env의 차이도 정리합니다.

Linux / 명령어 / zypper - openSUSE·SUSE에서 패키지와 저장소 관리

Linux / 명령어 / zypper - openSUSE·SUSE에서 패키지와 저장소 관리

Linux zypper 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / mv - 파일 이동과 이름 변경

Linux / 명령어 / mv - 파일 이동과 이름 변경

Linux mv 명령어로 파일과 디렉터리를 이동하거나 이름을 변경하는 방법을 설명합니다. 덮어쓰기 방지, 파일 시스템 간 이동과 안전한 자동화 방법도 정리합니다.

Linux / 명령어 / pacman - Arch Linux에서 패키지 설치와 전체 시스템 업데이트

Linux / 명령어 / pacman - Arch Linux에서 패키지 설치와 전체 시스템 업데이트

Linux pacman 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / printf - 지정한 형식으로 값 출력

Linux / 명령어 / printf - 지정한 형식으로 값 출력

Linux printf 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.