카테고리 없음

Dig (Domain Information Groper) 사용법

지기(ZIGI) 2026. 3. 4. 18:58

today keys : dig, domain, record, nslookup, information, groper, query, lookup, 질의


dig를 사용한 기본 도메인 조회 방법

dig 도메인주소

 

dig 출력 읽는 방법

dig의 기본 출력은 다음의 4개 파트로 구분하여 볼 수 있습니다.

  • HEADER : 응답 상태 및 Flag
  • QUESTION : 질의한 내용
  • ANSWER : 질의에 대한 응답 내용
  • AUTHORITY/ADDITIONAL : 위임(NS) 및 추가 정보 내용

HEADER 섹션 

  • status : NOERROR로 질의가 성공. 
  • flags
    • qr : Query Response (응답)
    • rd : Recurison Desired (재귀 요청)
    • ra : Recurision Available (재귀 가능)
  • ANSWER : 응답 레코드 1개
  • AUTHORITY : AUTHORITY 섹션 값 (현재는 없어서 0으로 표기)
  • ADDITIONAL : Additional 섹션 값 1개 (OPT PSEDO SECTION)

 

QUESTION 섹션

  • QUESTION Section 값으로, 여기에서는 zigispace.net 에 대한 A 레코드 질의

 

ANSWER 섹션

  • 질의한 레코드에 결과 값 섹션
  • 본 예시에서는 1개의 A 레코드 값만 응답하여 1개만 출력되지만, 여러 값이 있는 경우에 동시에 각 값이 출력
  • 도메인 / TTL / 레코드 유형(A) / 레코드 값(IP 주소) 출력 확인

 

AUTHORITY 섹션

  • 보통 도메인을 담당하는 NS(위임)이나 SOA(권한)에 대한 정보를 표시
  • 위 예시에서는 재귀 리졸버가 질의에 대한 답을 다 확인해서 전달하여 Authority 정보를 미 표시
  • Authority 가 표시되는 경우 아래와 같이 표시 됨. 

 

기타 

하단의 SERVER 정보는 호스트가 도메인 질의에 사용한 DNS 서버

 

 

dig 에서 사용하는 주요 옵션

dig의 기본 출력 값이 길기 때문에, 필요한 값만 볼 수 있도록 다음의 옵션을 사용 할 수 있습니다. 

  • +noall : 모든 결과 값을 출력하지 않음

  • +섹션명 : 지정한 섹션 값만 출력 (answer, authority, additional, question)

 

  • @DNS서버주소 : 질의하는 서버 주소 지정

 

  • +short : 결과 값만 짧게 출력

 

  • +identify : 질의에 응답한 서버 정보 표시

 

  • +comments : 헤더/통계/코멘트 출력

 

  • '레코드 타입' or '-t 레코드 타입' : 질의하는 레코드 타입

 


다음은 추가적인 옵션에 대한 설명 정리입니다.

 

 

1) 출력 범위/섹션 제어 옵션 (무엇을 보여줄지)

 

옵션 의미 실무 포인트
+noall 기본 출력 거의 전부 숨김 섹션을 “필요한 것만” 켤 때 출발점
+answer ANSWER 섹션만 출력 dig example.com +noall +answer
+authority AUTHORITY 섹션 출력 위임(NS), SOA(존 정보) 확인
+additional ADDITIONAL 섹션 출력 glue A/AAAA 같은 추가 레코드 확인
+question QUESTION 섹션 출력 실제 어떤 질의를 보냈는지 확인
+comments 헤더/통계/코멘트 출력 기본 출력에 포함되는 설명부
+stats Query time, MSG SIZE 등 통계 출력 지연/패킷 크기 확인
+multiline 레코드 길게 보기 좋게 줄바꿈 DNSKEY/RRSIG 등 긴 레코드 가독성
+short 결과만 짧게 출력 자동화/스크립트에서 유용
+ttlid TTL과 응답 ID 표시 TTL 확인할 때 편함
+qr Query/Response를 함께 출력 보낸 질의와 받은 응답을 비교
+nsid NSID(서버 식별) 요청 어떤 리졸버/네임서버가 응답했는지 힌트
+identify 응답한 서버 IP를 추가로 표시 다수 DNS 서버 테스트 시 편함

2) 재귀/권한 서버 추적 옵션 (누가 답했는지, 어떻게 찾아갔는지)


옵션 의미 실무 포인트
옵션 의미 실무 포인트
+recurse / +norecurse RD 비트(재귀 요청) 켬/끔 +norecurse로 권한 서버 응답 확인
+trace 루트부터 권한까지 iterative로 추적 실제 위임 흐름(루트→TLD→권한) 점검
+trace +dnssec 추적하면서 DNSSEC 관련도 함께 DNSSEC 검증/체인 확인에 도움
+cdflag Checking Disabled(검증 비활성 요청) DNSSEC 검증 실패/리졸버 동작 분리 확인
+adflag AD(Authenticated Data) 요청 리졸버가 검증한 데이터인지 확인 힌트

3) 질의 타입/클래스/이름 관련 옵션 (무엇을 물어볼지)

옵션 의미 실무 포인트
(기본) dig name 기본 타입 A로 조회 dig example.com
dig name A/AAAA/MX/NS/TXT/SOA/CNAME… 타입 지정 dig example.com MX
-x <ip> 역방향 조회(PTR) dig -x 8.8.8.8
-t <type> 타입 지정(동일 의미) dig -t TXT example.com
-c <class> DNS class(보통 IN) 특수 케이스 외에는 거의 IN만

4) 전송/프로토콜/네트워크 옵션 (어떻게 보낼지)


옵션 의미 실무 포인트
@<server> 질의할 DNS 서버 지정 dig @8.8.8.8 example.com
-p <port> 대상 포트 지정(기본 53) 커스텀 DNS 포트 테스트
+tcp TCP로 질의 큰 응답(DNSSEC)·방화벽 이슈 진단
+notcp UDP 선호(기본 동작에 가까움) 일반 테스트
+udp UDP로 질의(명시) 환경에 따라 가독성 목적
+ignore 타임아웃 시 재시도 없이 무시 자동화에서 지연 방지
+retry=<n> 재시도 횟수 패킷 드랍 환경에서 조정
+time=<sec> 타임아웃(초) 원거리/불안정 링크에서 조정
+tries=<n> 전체 시도 횟수 retry와 함께 튜닝
+bufsize=<n> EDNS UDP 버퍼 크기 fragmentation/EDNS 문제 진단
+edns=<0/1> EDNS 사용 제어(버전) EDNS 호환성 이슈 확인
+noedns EDNS 비활성화 일부 장비/방화벽이 EDNS 깨는 경우

5) DNSSEC 관련 옵션 (서명/검증 데이터)

옵션의미실무 포인트/예시
옵션 의미 실무 포인트
+dnssec DNSSEC 관련 레코드(DO bit) 요청 RRSIG/DNSKEY 등 같이 받기
+nodnssec DNSSEC 관련 요청 안 함 기본 결과만 보고 싶을 때
+adflag AD 요청(검증됐음을 표시하도록) “리졸버가 검증했는지” 힌트
+cdflag 검증 비활성화 요청 검증 문제인지 데이터 문제인지 분리

6) 역방향/도메인 서치/로컬 설정 반영 옵션

옵션의미실무 포인트/예시
옵션 의미 실무 포인트
+search / +nosearch resolv.conf의 search/domain 적용 FQDN 아닌 이름 테스트 시 영향
+domain=<name> search domain 지정 테스트 용 임시 도메인
+ndots=<n> ndots 설정 search 동작 조건 영향
-4 / -6 IPv4/IPv6로 서버 통신 강제 DNS 서버 접근 경로 테스트

7) 자주 쓰는 “조합” 예시 (표준 패턴)

목적명령 예시
목적 명령 예시
ANSWER만 깔끔히 dig example.com +noall +answer
AUTHORITY만 보기(SOA/위임 확인) dig example.com SOA +noall +authority
특정 리졸버로 TXT 확인 dig @1.1.1.1 example.com TXT +noall +answer
권한 흐름 추적 dig example.com +trace
EDNS 문제 의심 시 dig @8.8.8.8 example.com +noedns
UDP 깨짐/큰 응답 의심 시 dig example.com +tcp