본문 바로가기
카테고리 없음

[Linux] DNS 정보를 조회하는 도구 dig명령어 사용 방법

by ganyga 2024. 3. 19.

dig 명령어

  • dig(Domain Information Groper)
  • DNS 정보를 조회할 수 있는 네트워크 관리 도구
  • DNS 네임서버에 쿼리 하고, 받은 응답을 출력하는 방식으로 DNS 정보를 조회(lookup)함
  • 특정 네임서버에 쿼리 하라는 지시가 없으면 dig는 /etc/resolv.conf에 나열된 각 서버를 시도함
  • 사용 가능한 서버 주소를 찾을 수 없으면 dig는 쿼리를 로컬 호스트로 보냄
  • 명령줄 인수나 옵션이 제공되지 않으면 dig는 "."(루트)에 대한 네임서버 쿼리를 수행함

 

명령어 사용 방법

dig [@server domain][query-type][query-class]

 

server : 확인하고자 하는 네임서버를 지정, 지정하지 않을 경우 /etc/resolve.conf에 등록된 네임 서버를 이용하여 루트 서버를 조회함

 

qery-type 옵션

a : 도메인의 아이피 정보

any : 지정된 도메인의 모든 정보

mx : 지정한 도메인의 메일서버 정보

ns : 네임서버 정보

soa : soa 정보

 

dig 옵션

-4 or -6 : IPv4 또는 IPv6 강제 지정

-b : source IP를 다른 IP로 설정

-f : batch 모두 동작시 파일이름을 지정

-m : debugging

-p : 53 이외의 포트번호를 지정

-t : Type를 지정

-c : Class 지정

-x : reverse lookup

 

+tcp : TCP 프로토콜 사용

+trace : delegation path 추적

+short : Answer Section 결과만 표시

+comments : Comments Section 표시

+question : Question Section 표시

+answer : AnsWer Section 표시

+authority : Authority Section 표시

+additional : Additional Section 표시

+stats : Statistics Section 표시

+all : Comments부터 Statistics Section 모두 표시

+multiline :  record를 여러 줄로 보기 좋게 표시

 

DNS 레코드 유형

  • A 레코드 : IPv4 주소 및 일부 AWS 리소스로 트래픽 라우팅
  • AAAA 레코드 : IPv6 주소 및 일부 AWS 리소스로 트래픽 라우팅
  • CNAME : 다른 도메인 이름과 일부 AWS 리소스로 트래픽 라우팅
  • NS : 호스팅 영역의 이름 서버

 

사용 예시

dig www.eggplantga.shop

; <<>> DiG 9.10.6 <<>> www.eggplantga.shop
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21749
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;www.eggplantga.shop.		IN	A

;; ANSWER SECTION:
www.eggplantga.shop.	60	IN	A	43.200.32.175
www.eggplantga.shop.	60	IN	A	3.35.94.14

;; Query time: 53 msec
;; SERVER: 1.214.68.2#53(1.214.68.2)
;; WHEN: Tue Mar 19 22:48:47 KST 2024
;; MSG SIZE  rcvd: 80

 

헤더 섹션(Header Section)

  • DiG 9.10.6 : DNS 쿼리에 사용된 dig 도구의 버전, dig -v 명령어를 실행한 버전과 동일
  • ;; global options: + cmd : 기본적으로 cmd 옵션이 사용되었다는 것을 의미
  • ;; Got answer: DNS 서버로부터의 응답받았다는 것을 의미
  • ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13812
    • opcode : DNS에 의해 수행된 작업
    • status : DNS 응답 상태 코드
    • id : DNS 메시지 식별자
; <<>> DiG 9.10.6 <<>> www.eggplantga.shop
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21749
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

 

옵션 섹션(OPT PSEUDOSECTION)

  • OPT : DNS 메시지에 대한 옵션 정보를 나타내는 코드, 가상 레코드
    • EDNS : Extension Mechanisms for DNS
    • version : EDNS의 버전
    • flags : DNS 확장 플래그
    • udp : 요청을 전달하는 UDP 패킷 크기
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232

 

질문 섹션(QUESTION SECTION)

  • 순서대로 NAME, Class, Type
  • 'eggplantga.shop'라는 도메인 이름에 대해, IN(인터넷 네트워크) 클래스의 A레코드 타입에 대해 질의
  • dig 명령어는 별도로 옵션을 지정하지 않으면 A레코드에 대해 질의함
;; QUESTION SECTION:
;www.eggplantga.shop.		IN	A

 

응답 섹션(ANSWER SECTION)

  • 순서대로 Name, TTL, Class, Type, Value
;; ANSWER SECTION:
www.eggplantga.shop.	60	IN	A	43.200.32.175
www.eggplantga.shop.	60	IN	A	3.35.94.14

 

응답 부분만 조회

dig www.eggplantga.shop +short

3.35.94.14
43.200.32.175

 

네임서버 조회

dig eggplantga.shop ns

; <<>> DiG 9.10.6 <<>> eggplantga.shop ns
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62497
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 9

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;eggplantga.shop.		IN	NS

;; ANSWER SECTION:
eggplantga.shop.	81911	IN	NS	ns-659.awsdns-18.net.
eggplantga.shop.	81911	IN	NS	ns-1091.awsdns-08.org.
eggplantga.shop.	81911	IN	NS	ns-1963.awsdns-53.co.uk.
eggplantga.shop.	81911	IN	NS	ns-258.awsdns-32.com.

;; ADDITIONAL SECTION:
ns-1091.awsdns-08.org.	12165	IN	A	205.251.196.67
ns-1963.awsdns-53.co.uk. 12202	IN	A	205.251.199.171
ns-258.awsdns-32.com.	12750	IN	A	205.251.193.2
ns-659.awsdns-18.net.	11751	IN	A	205.251.194.147
ns-1091.awsdns-08.org.	12165	IN	AAAA	2600:9000:5304:4300::1
ns-1963.awsdns-53.co.uk. 12202	IN	AAAA	2600:9000:5307:ab00::1
ns-258.awsdns-32.com.	12750	IN	AAAA	2600:9000:5301:200::1
ns-659.awsdns-18.net.	11751	IN	AAAA	2600:9000:5302:9300::1

;; Query time: 5 msec
;; SERVER: 180.182.54.1#53(180.182.54.1)
;; WHEN: Tue Mar 19 23:29:04 KST 2024
;; MSG SIZE  rcvd: 360

 

DNS 질의 추적

dig www.eggplantga.shop +trace

; <<>> DiG 9.10.6 <<>> www.eggplantga.shop +trace
;; global options: +cmd
.			221	IN	NS	m.root-servers.net.
.			221	IN	NS	f.root-servers.net.
.			221	IN	NS	i.root-servers.net.
.			221	IN	NS	l.root-servers.net.
.			221	IN	NS	d.root-servers.net.
.			221	IN	NS	a.root-servers.net.
.			221	IN	NS	g.root-servers.net.
.			221	IN	NS	e.root-servers.net.
.			221	IN	NS	h.root-servers.net.
.			221	IN	NS	c.root-servers.net.
.			221	IN	NS	j.root-servers.net.
.			221	IN	NS	k.root-servers.net.
.			221	IN	NS	b.root-servers.net.
.			221	IN	RRSIG	NS 8 0 518400 20240401050000 20240319040000 30903 . Xg2ZlKeGlqABWOFRP6FDhvsBBIIWCb9ptHlwzkKhel3EHxdihT17YQYG fvFAPWJjPnWcbJlQeHwrScVocUVEfDAKl85NLe/B+OUvjHw2bxjxSB0v sw7Pjp25emTPINH+dsGrzO23QB9N1hBUXNFbIp6h0wqY4Kfp1bHn1Op/ Sx6699J+VX0zQuTuJgs4x0TBuvPx1DGtvglHd0jJ10Dwno/X+lKWqeLy ZvSCkimA6x5WsTwwUtAm+Y2K//nfx+jjHbzvB4NMASUTnnB2yEv6Q7e4 QdWDdJpYFfYaKlBBm62UkWLMIkJKbXqqoPv/H5+kQC2G27inzsIz9SMD e24kug==
;; Received 1097 bytes from 203.248.252.2#53(203.248.252.2) in 7 ms

shop.			172800	IN	NS	a.gmoregistry.net.
shop.			172800	IN	NS	b.gmoregistry.net.
shop.			172800	IN	NS	k.gmoregistry.net.
shop.			172800	IN	NS	l.gmoregistry.net.
shop.			86400	IN	DS	50701 8 2 30F44F9E79F1119AEBED349D3EC34F7AEDD83A58F1E706D8303C3BBF E83BC7EC
shop.			86400	IN	RRSIG	DS 8 1 86400 20240401050000 20240319040000 30903 . tXu9uQidU748cE7HLI4NarGPjqSksX+vGlC9jzBaepzOB9duz7LbVidI zqZjbwAuTDLf/wepLVxTRyqZICzOoo/xGKi2mX5bbJPPOeiuBRI4ULIA WdNWYmxwLb48XZtSKs0SyqJqV6GJDVUlc7APdaz5DVZd8Umm/egSYKKt Npo4UoJ6uHIB536owZHhp/Me1eVGa2eZNswYXtt/cBH+6uuqrchpZj3z pGWqGAvrYk3nBgOhzVajw+Yvm9AH9sYZ5/q/wbsDujgQ/t3rWDRZ4H17 812kGgqHxantMDwuF7msMCzXFFsJMbDc7pHxFyRREeCXh3YxwDrk2tB/ pTuSow==
;; Received 610 bytes from 192.203.230.10#53(e.root-servers.net) in 8 ms

eggplantga.shop.	86400	IN	NS	ns-258.awsdns-32.com.
eggplantga.shop.	86400	IN	NS	ns-659.awsdns-18.net.
eggplantga.shop.	86400	IN	NS	ns-1091.awsdns-08.org.
eggplantga.shop.	86400	IN	NS	ns-1963.awsdns-53.co.uk.
rfh9jo417ke3jha4a08rn8vfgegm0u2b.shop. 3600 IN NSEC3 1 1 0 - RFHHLUEK59AS98UGTHNPLHVKIGTIH0NK  NS SOA RRSIG DNSKEY NSEC3PARAM
rfh9jo417ke3jha4a08rn8vfgegm0u2b.shop. 3600 IN RRSIG NSEC3 8 2 3600 20240322222219 20240315211157 53364 shop. IEJz9Sj3NN8iUfYSSg9SG/o6xNmSShm1GADz4m7L7HxK2waymqMpVtJH RtAKP1BnGKXJvR4VEcNj3qz4ygC/5/iKfjVYR1f0MRIR/7g1giLzxOyI Owthh+H/udJD3pzOjEyd0QJmhh1KtgnLflUMtHieTSTwRmIauLBK2xQr n10=
7dcbfpp420cj7g86uts1fb3jctub33uk.shop. 3600 IN NSEC3 1 1 0 - 7DDK62P6PHECCLO47DDECQ6LLKGSOAPU  NS DS RRSIG
7dcbfpp420cj7g86uts1fb3jctub33uk.shop. 3600 IN RRSIG NSEC3 8 2 3600 20240324194941 20240317223655 53364 shop. o8K+niK0KIq/XGkrif4V0KVAikvcsL7KjAuy0aV0HfetC3dQUkBYKJp8 NFG/xegejLGXFBlpBNF7c5WnBIqtKW4C4RNlOTbQrB6rgJu4voMM7geU ekppSNjGh92u+zghFqd7O6RGx8X0Ks1T9gp9bN2qRupIkCZfilPWcNpn wno=
;; Received 679 bytes from 37.209.196.4#53(k.gmoregistry.net) in 86 ms

www.eggplantga.shop.	60	IN	A	3.35.94.14
www.eggplantga.shop.	60	IN	A	43.200.32.175
eggplantga.shop.	172800	IN	NS	ns-1091.awsdns-08.org.
eggplantga.shop.	172800	IN	NS	ns-1963.awsdns-53.co.uk.
eggplantga.shop.	172800	IN	NS	ns-258.awsdns-32.com.
eggplantga.shop.	172800	IN	NS	ns-659.awsdns-18.net.
;; Received 220 bytes from 205.251.196.67#53(ns-1091.awsdns-08.org) in 42 ms