강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

dig유틸리티를 이용한 도메인설정정보 검색실무

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

dig유틸리티를 이용한 도메인설정정보 검색실무

 

 

 

 

 

dig라는 유틸리티를 이용하면 특정 DNS서버의 설치정보와 설정정보를 확인해 볼 수 있다.

 

 

 

 

 특히 특정 DNS서버의 BIND버전을 확인할 때에도 dig라는 명령어를 이용하면 매우 편리하다.

 

 

 

 

 이 명령어의 사용형식은 다음과 같다.

 

 

 

 

 

 

사용형식 : dig @server domain query-type query-class

 

 

 

 

위 형식중 server는 확인코자하는 DNS서버의 domain이나 IP주소를 적어주면 된다.

 

 

 

 

 실제 예를보면 다음과 같다.

 

 

 

 

 먼저 도메인으로 확인할 수 있음을 보여준 것이다.

 

 

 

 

 

 

[root@RockyLinux ~]# dig @ns.superuser.co.kr txt chaos version bind

 

; <<>> DiG 9.16.23-RH <<>> @ns.superuser.co.kr txt chaos version bind

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 3000

;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; WARNING: recursion requested but not available

 

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

; COOKIE: a8c1ddd0e1d8d25191a9739064acacd1fcb69d043a235b52 (good)

;; QUESTION SECTION:

;version.                       CH      TXT

 

;; Query time: 14 msec

;; SERVER: 222.97.189.1#53(222.97.189.1)

;; WHEN: Tue Jul 11 10:13:53 KST 2023

;; MSG SIZE  rcvd: 64

 

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 32666

;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; WARNING: recursion requested but not available

 

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

; COOKIE: a8c1ddd0e1d8d2514dab6ebf64acacd1deb97baaead140a1 (good)

;; QUESTION SECTION:

;bind.                          CH      TXT

 

;; Query time: 15 msec

;; SERVER: 222.97.189.1#53(222.97.189.1)

;; WHEN: Tue Jul 11 10:13:53 KST 2023

;; MSG SIZE  rcvd: 61

 

[root@RockyLinux ~]#



 

 

위의 결과를 보면 9.16.23-RH 이라는 문자열을 볼 수 있다.

 

 

 

 

 이 문자열이 BIND의 버전이다.

 

 

 

 

 다음은 이 부분만을 grep으로 확인해 본 것이다.

 

 

 

 

 



[root@RockyLinux ~]# dig @ns.superuser.co.kr txt chaos version bind | grep version

; <<>> DiG 9.16.23-RH <<>> @ns.superuser.co.kr txt chaos version bind

; EDNS: version: 0, flags:; udp: 4096

;version.                       CH      TXT

; EDNS: version: 0, flags:; udp: 4096

[root@RockyLinux ~]#

 

 

 

 

다음은 앞의 테스트를 IP주소로도 가능하다는 것을 보여 준 것이다.

 

 

 

 



[root@sulinux ~]#dig @192.168.0.250 chaos version bind

 

; <<>> DiG 9.6.1b1 <<>> @192.168.0.250 chaos version bind

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 37048

;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; WARNING: recursion requested but not available

 

;; QUESTION SECTION:

;version.                       CH      A

 

;; Query time: 1 msec

;; SERVER: 192.168.0.250#53(192.168.0.250)

;; WHEN: Mon Apr 27 08:59:22 2009

;; MSG SIZE  rcvd: 25

 

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 18557

;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; WARNING: recursion requested but not available

 

;; QUESTION SECTION:

;bind.                          CH      A

 

;; Query time: 1 msec

;; SERVER: 192.168.0.250#53(192.168.0.250)

;; WHEN: Mon Apr 27 08:59:22 2009

;; MSG SIZE  rcvd: 22

 

[root@sulinux ~]#



 

또다른 방법으로 grep을 사용하여 다음과 같이 할 수도 있다.

 

 

 

 

 

 

[root@sulinux ~]#dig @localhost txt chaos version bind | grep version

; <<>> DiG 9.6.1b1 <<>> @localhost txt chaos version bind

;version.                       CH      TXT

[root@sulinux ~]#



 

 

그럼 본격적으로 dig명령어의 다양한 사용법에 대해서 설명하도록 하겠다.

 

 

 

 

 명령어 사용형식을 다시 한번보면 다음과 같다.

 

 

 

 

 

 

사용형식 : dig @server domain query-type query-class

 

여기서 query-type에 올수 있는 것에는 다음과 같은 것들이 있다.

 

 

 

 

 

 

- a      : 네트워크주소를 의미함.

- any    : 지정한 도메인의 모든 정보를 의미함.

- mx     : 지정한 도메인의 메일서버 정보를 의미함.

- ns     : 네임서버를 의미함.

- soa    : SOA정보를 의미함.

- hinfo  : HINFO레코드에 대한 정보를 의미함.

 

 

 

이외에도 앞서 예를 들었던 txt axfr등이 올수 있다.

 

 

 

 

 그럼 이들 옵션들에 대한 사용 예를들어 보겠다.

 

 

 

 

 먼저 any옵션을 사용한 예로써 192.168.0.200이라는 네임서버의 기본설정 내용들을 모두 확인한 것이다.

 

 

 

 

  

 

[root@sulinux ~]#dig @192.168.0.250 any

 

; <<>> DiG 9.6.1b1 <<>> @192.168.0.250 any

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60831

;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 14

 

;; QUESTION SECTION:

;.                              IN      NS

 

;; ANSWER SECTION:

.                       518246  IN      NS      L.ROOT-SERVERS.NET.

.                       518246  IN      NS      M.ROOT-SERVERS.NET.

.                       518246  IN      NS      A.ROOT-SERVERS.NET.

.                       518246  IN      NS      B.ROOT-SERVERS.NET.

.                       518246  IN      NS      C.ROOT-SERVERS.NET.

.                       518246  IN      NS      D.ROOT-SERVERS.NET.

.                       518246  IN      NS      E.ROOT-SERVERS.NET.

.                       518246  IN      NS      F.ROOT-SERVERS.NET.

.                       518246  IN      NS      G.ROOT-SERVERS.NET.

.                       518246  IN      NS      H.ROOT-SERVERS.NET.

.                       518246  IN      NS      I.ROOT-SERVERS.NET.

.                       518246  IN      NS      J.ROOT-SERVERS.NET.

.                       518246  IN      NS      K.ROOT-SERVERS.NET.

 

;; ADDITIONAL SECTION:

A.ROOT-SERVERS.NET.     604646  IN      A       198.41.0.4

A.ROOT-SERVERS.NET.     604646  IN      AAAA    2001:503:ba3e::2:30

B.ROOT-SERVERS.NET.     604646  IN      A       192.228.79.201

C.ROOT-SERVERS.NET.     604646  IN      A       192.33.4.12

D.ROOT-SERVERS.NET.     604646  IN      A       128.8.10.90

E.ROOT-SERVERS.NET.     604646  IN      A       192.203.230.10

F.ROOT-SERVERS.NET.     604646  IN      A       192.5.5.241

F.ROOT-SERVERS.NET.     604646  IN      AAAA    2001:500:2f::f

G.ROOT-SERVERS.NET.     604646  IN      A       192.112.36.4

H.ROOT-SERVERS.NET.     604646  IN      A       128.63.2.53

H.ROOT-SERVERS.NET.     604646  IN      AAAA    2001:500:1::803f:235

I.ROOT-SERVERS.NET.     604646  IN      A       192.36.148.17

J.ROOT-SERVERS.NET.     604646  IN      A       192.58.128.30

J.ROOT-SERVERS.NET.     604646  IN      AAAA    2001:503:c27::2:30

 

;; Query time: 27 msec

;; SERVER: 192.168.0.250#53(192.168.0.250)

;; WHEN: Mon Apr 27 09:00:47 2009

;; MSG SIZE  rcvd: 500

 

[root@sulinux ~]#

 

 

 

그리고 any옵션에 대한 것으로 picasso.co.kr이라는 도메인에 대하여 DNS의 모든 정보를 조회한 것이다.

 

 

 

 

 

 

[root@RockyLinux ~]# dig @ns.superuser.co.kr any picasso.co.kr

 

; <<>> DiG 9.16.23-RH <<>> @ns.superuser.co.kr any picasso.co.kr

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25076

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 3

 

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

; COOKIE: 8dd59f72f2217ad5e65339c264acad6ee00009fdbd52c306 (good)

;; QUESTION SECTION:

;picasso.co.kr.                 IN      ANY

 

;; ANSWER SECTION:

picasso.co.kr.          400     IN      SOA     ns.suidc.comr. root.suidc.com. 2005030517 21600 900 604800 400

picasso.co.kr.          400     IN      NS      ns.suidc.com.

picasso.co.kr.          400     IN      NS      ns2.suidc.com.

picasso.co.kr.          400     IN      A       222.97.189.21

 

;; ADDITIONAL SECTION:

ns.suidc.com.           200     IN      A       222.97.189.1

ns2.suidc.com.          200     IN      A       210.127.209.11

 

;; Query time: 14 msec

;; SERVER: 222.97.189.1#53(222.97.189.1)

;; WHEN: Tue Jul 11 10:16:30 KST 2023

;; MSG SIZE  rcvd: 216

 

[root@RockyLinux ~]#

 

 

 

 

다음은 picasso.co.kr이라는 도메인에 대하여 DNS에 설정된 mx레코드를 dig로 조회한 예 이다.

 

 

 

 

 

 

[root@RockyLinux ~]# dig @ns.superuser.co.kr mx picasso.co.kr

 

; <<>> DiG 9.16.23-RH <<>> @ns.superuser.co.kr mx picasso.co.kr

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57630

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

 

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

; COOKIE: 54b6bc792a5a5e0e2d25c2ec64acad8bc43172d739bb29e8 (good)

;; QUESTION SECTION:

;picasso.co.kr.                 IN      MX

 

;; AUTHORITY SECTION:

picasso.co.kr.          400     IN      SOA     ns.suidc.comr. root.suidc.com. 2005030517 21600 900 604800 400

 

;; Query time: 16 msec

;; SERVER: 222.97.189.1#53(222.97.189.1)

;; WHEN: Tue Jul 11 10:16:59 KST 2023

;; MSG SIZE  rcvd: 133

 

[root@RockyLinux ~]#

 

 

 

 

다음은 picasso.co.kr이라는 도메인의 ns레코드를 dig로 조회한 예이다.

 

 

 

 

 

 

[root@sulinux ~]#dig @ns.linux.co.kr ns picasso.co.kr

 

; <<>> DiG 9.6.1b1 <<>> @ns.linux.co.kr ns picasso.co.kr

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45621

;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2

;; WARNING: recursion requested but not available

 

;; QUESTION SECTION:

;picasso.co.kr.                 IN      NS

 

;; ANSWER SECTION:

picasso.co.kr.          400     IN      NS      ns2.suidc.com.

picasso.co.kr.          400     IN      NS      ns.suidc.com.

 

;; ADDITIONAL SECTION:

ns.suidc.com.           800     IN      A       222.97.189.1

ns2.suidc.com.          800     IN      A       210.127.209.11

 

;; Query time: 7 msec

;; SERVER: 222.97.189.1#53(222.97.189.1)

;; WHEN: Mon Apr 27 09:02:32 2009

;; MSG SIZE  rcvd: 107

 

[root@sulinux ~]#

 

 

 

다음은 picasso.co.kr이라는 도메인의 a레코드를 dig로 조회한 예이다.

 

 

 

 

 

 

[root@sulinux ~]#dig @ns.linux.co.kr a picasso.co.kr

 

; <<>> DiG 9.6.1b1 <<>> @ns.linux.co.kr a picasso.co.kr

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48893

;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; WARNING: recursion requested but not available

 

;; QUESTION SECTION:

;picasso.co.kr.                 IN      A

 

;; ANSWER SECTION:

picasso.co.kr.          400     IN      A       222.97.189.14

 

;; AUTHORITY SECTION:

picasso.co.kr.          400     IN      NS      ns2.suidc.com.

picasso.co.kr.          400     IN      NS      ns.suidc.com.

 

;; ADDITIONAL SECTION:

ns.suidc.com.           800     IN      A       222.97.189.1

ns2.suidc.com.          800     IN      A       210.127.209.11

 

;; Query time: 4 msec

;; SERVER: 222.97.189.1#53(222.97.189.1)

;; WHEN: Mon Apr 27 09:02:48 2009

;; MSG SIZE  rcvd: 123

 

[root@sulinux ~]#

 

 

 

이처럼 dig라는 명령어를 이용하면 네임서버에 대한 다양한 정보를 확인해 볼 수 있다.

 

 

 

 

 여기서 설명한 dig유틸리티와 함께 host유틸리티 그리고 nslookup이라는 유틸리티도 함께 알아두기 바란다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,806 개
  • 현재 접속자 :  86 명