dig 사용법 (Linux)
2017-02-15 15:05 - swindler
dig (domain information groper) 는 DNS 네임서버에 쿼리를 날리기위한 유용한 툴이다.
DNS lookup 과 쿼리를 보낸 네임서버로부터 돌아오는 응답을 출력해준다.
대부분의 DNS 관리자들은 DNS장애 시 troubleshoot 를 위해 dig를 사용한다.
이유는 dig의 유연하고 편리하기 때문이다.
보통 dig는 명령어라인 인자들과 함께 사용한다.
dig 사용 시 name server 를 명시하지 않으면 /etc/resolv.conf 파일에 명시된
리스트로 쿼리를 보낸다.
사용법은 다음과 같다.
dig @server name type
[server]
네임서버의 아이피 또는 도메인을 명시한다.
IPv4는 dotted-decimal(.)을 사용하고 IPv6는 colon-delimited(:)을 사용한다.
[name]
도메인을 명시한다.
[type]
ANY, A, MX, SIG, 기타.. 를 명시한다.
명시하지 않을 경우 기본적으로 A레코드를 출력한다.
< 예제 >
// 도메인 조회
[root@assa root]# dig @168.126.63.1 domain.net ANY
; <<>> DiG 9.2.1 <<>> @168.126.63.1 domain.net ANY
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65437
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;domain.net. IN ANY
;; ANSWER SECTION:
domain.net. 172800 IN NS ns.domain.net.
;; AUTHORITY SECTION:
domain.net. 172800 IN NS ns.domain.net.
;; ADDITIONAL SECTION:
ns.domain.net. 172800 IN A 192.168.1.100
;; Query time: 3080 msec
;; SERVER: 168.126.63.1#53(168.126.63.1)
;; WHEN: Sat Mar 29 11:01:07 2003
;; MSG SIZE rcvd: 134
// Reverse lookup(역방향 조회)
[root@assa root]# dig @168.126.63.1 -x 192.168.10.1 ANY
; <<>> DiG 9.2.1 <<>> @168.126.63.1 -x 192.168.10.1 ANY
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 61892
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;1.10.168.192.in-addr.arpa. IN ANY
;; AUTHORITY SECTION:
1.10.168.192.in-addr.arpa. 600 IN SOA ns.domain.net. root.ns.domain.net. 2003021922 28800 14400 3600000 86400
. server : 확인하고자 하는 DNS 서버의 domain 이나 IP 를 넣어주면 됨
2. query type 에 올수 있는것
? a ? 네트워크 주소를 의미
? any ? 지정한 도메인의 모든 정보를 의미
? mx ? 지정한 도메인의 메일서버 정보를 의미
? ns ? 네임서버를 의미
? soa ? soa 정보를 의미
? hihfo ? HINFO 레코드에 대한 정보를 의미
3. query-class : 확인하고자 하는 도메인
4. DIG는 쿼리에 대한 결과를 ANSWER SECTION에, 해당 도메인의 인증을 갖는 네임서버 정보를 AUTHORITY SECTION에, 그리고, 글루레코드 등이 있을 경우 그에대한 정보를 ADDITIONAL SECTION에 출력하여 준다.
DNS lookup 과 쿼리를 보낸 네임서버로부터 돌아오는 응답을 출력해준다.
대부분의 DNS 관리자들은 DNS장애 시 troubleshoot 를 위해 dig를 사용한다.
이유는 dig의 유연하고 편리하기 때문이다.
보통 dig는 명령어라인 인자들과 함께 사용한다.
dig 사용 시 name server 를 명시하지 않으면 /etc/resolv.conf 파일에 명시된
리스트로 쿼리를 보낸다.
사용법은 다음과 같다.
dig @server name type
[server]
네임서버의 아이피 또는 도메인을 명시한다.
IPv4는 dotted-decimal(.)을 사용하고 IPv6는 colon-delimited(:)을 사용한다.
[name]
도메인을 명시한다.
[type]
ANY, A, MX, SIG, 기타.. 를 명시한다.
명시하지 않을 경우 기본적으로 A레코드를 출력한다.
< 예제 >
// 도메인 조회
[root@assa root]# dig @168.126.63.1 domain.net ANY
; <<>> DiG 9.2.1 <<>> @168.126.63.1 domain.net ANY
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65437
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;domain.net. IN ANY
;; ANSWER SECTION:
domain.net. 172800 IN NS ns.domain.net.
;; AUTHORITY SECTION:
domain.net. 172800 IN NS ns.domain.net.
;; ADDITIONAL SECTION:
ns.domain.net. 172800 IN A 192.168.1.100
;; Query time: 3080 msec
;; SERVER: 168.126.63.1#53(168.126.63.1)
;; WHEN: Sat Mar 29 11:01:07 2003
;; MSG SIZE rcvd: 134
// Reverse lookup(역방향 조회)
[root@assa root]# dig @168.126.63.1 -x 192.168.10.1 ANY
; <<>> DiG 9.2.1 <<>> @168.126.63.1 -x 192.168.10.1 ANY
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 61892
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;1.10.168.192.in-addr.arpa. IN ANY
;; AUTHORITY SECTION:
1.10.168.192.in-addr.arpa. 600 IN SOA ns.domain.net. root.ns.domain.net. 2003021922 28800 14400 3600000 86400
. server : 확인하고자 하는 DNS 서버의 domain 이나 IP 를 넣어주면 됨
2. query type 에 올수 있는것
? a ? 네트워크 주소를 의미
? any ? 지정한 도메인의 모든 정보를 의미
? mx ? 지정한 도메인의 메일서버 정보를 의미
? ns ? 네임서버를 의미
? soa ? soa 정보를 의미
? hihfo ? HINFO 레코드에 대한 정보를 의미
3. query-class : 확인하고자 하는 도메인
4. DIG는 쿼리에 대한 결과를 ANSWER SECTION에, 해당 도메인의 인증을 갖는 네임서버 정보를 AUTHORITY SECTION에, 그리고, 글루레코드 등이 있을 경우 그에대한 정보를 ADDITIONAL SECTION에 출력하여 준다.