DNS 쿼리를 위한 10가지 Dig(Domain Information Groper) 명령
이전 기사에서는 DNS(Domain Name System)의 정보를 쿼리하고 가져오는 데 사용되는 네트워킹 명령줄 도구인 nslookup 명령 예와 사용법을 설명했습니다.
이 문서에서는 Linux nslookup 도구와 매우 유사한 dig라는 또 다른 명령줄 도구를 소개합니다. 우리는 예제와 사용법을 통해 dig 명령의 사용법을 자세히 살펴보겠습니다.
Dig는 (Domain Information Groper)를 의미하며 Domain Name System(DNS )을 쿼리하기 위한 네트워크 관리 명령줄 도구입니다. ) 네임서버.
DNS 문제를 확인 및 해결하고 DNS 조회를 수행하고 쿼리된 이름 서버에서 반환된 답변을 표시하는 데 유용합니다.
Dig는 BIND 도메인 이름 서버 소프트웨어 제품군의 일부입니다. dig 명령은 nslookup 및 host와 같은 이전 도구를 대체합니다. dig 도구는 주요 Linux 배포판에서 사용할 수 있습니다.
1. 도메인 “A” 레코드 쿼리
dig yahoo.com
; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20076
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;yahoo.com. IN A
;; ANSWER SECTION:
yahoo.com. 387 IN A 98.137.11.163
yahoo.com. 387 IN A 74.6.143.26
yahoo.com. 387 IN A 74.6.143.25
yahoo.com. 387 IN A 74.6.231.20
yahoo.com. 387 IN A 74.6.231.21
yahoo.com. 387 IN A 98.137.11.164
;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 12:58:13 IST 2021
;; MSG SIZE rcvd: 134
위 명령을 실행하면 dig가 도메인 이름 yahoo.com에 대한 "A"
레코드를 조회하게 됩니다. Dig 명령은 /etc/resolv.conf 파일을 읽고 여기에 나열된 DNS 서버를 쿼리합니다. DNS 서버의 응답이 dig에 표시됩니다.
명령의 출력을 이해해 보겠습니다.
;
로 시작하는 줄은 정보의 일부가 아닌 주석입니다.- 첫 번째 줄은 dig(9.16.1) 명령의 버전을 알려줍니다.
- 다음으로 dig는 DNS 서버로부터 받은 응답의 헤더를 표시합니다.
- 다음은 단순히 쿼리를 알려주는 질문 섹션입니다. 이 경우 yahoo.com의
"A"
레코드에 대한 쿼리입니다.IN
은 이것이 인터넷 조회(인터넷 클래스에서)임을 의미합니다. - 답변 섹션에는 yahoo.com에 IP 주소 98.137.11.163이 있음이 나와 있습니다.
- 마지막으로 쿼리에 대한 몇 가지 통계가 있습니다.
+nostats
옵션을 사용하여 이러한 통계를 끌 수 있습니다.
2. +short를 사용하여 도메인 “A” 레코드 쿼리
기본적으로 dig는 매우 장황합니다. 출력을 줄이는 한 가지 방법은 +short
옵션을 사용하는 것입니다. 그러면 아래와 같이 출력이 크게 줄어듭니다.
dig yahoo.com +short
98.137.11.164
74.6.231.21
74.6.231.20
74.6.143.25
74.6.143.26
98.137.11.163
참고: 기본적으로 dig는 지정된 도메인의 "A"
레코드를 찾지만 다른 레코드도 지정할 수 있습니다. MX
또는 Mail eXchange 레코드는 메일 서버에 도메인의 이메일을 라우팅하는 방법을 알려줍니다. TTL, SOA 등도 마찬가지입니다.
3. 도메인에 대한 MX 레코드 쿼리
다양한 유형의 DNS 리소스 레코드만 쿼리합니다.
dig yahoo.com MX
; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60630
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;yahoo.com. IN MX
;; ANSWER SECTION:
yahoo.com. 51 IN MX 1 mta6.am0.yahoodns.net.
yahoo.com. 51 IN MX 1 mta5.am0.yahoodns.net.
yahoo.com. 51 IN MX 1 mta7.am0.yahoodns.net.
;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 13:03:32 IST 2021
;; MSG SIZE rcvd: 117
4. 도메인에 대한 SOA 레코드 쿼리
dig yahoo.com SOA
; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com SOA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25140
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;yahoo.com. IN SOA
;; ANSWER SECTION:
yahoo.com. 1800 IN SOA ns1.yahoo.com. hostmaster.yahoo-inc.com.
2021121001 3600 300 1814400 600
;; Query time: 128 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 13:04:08 IST 2021
;; MSG SIZE rcvd: 99
5. 도메인의 TTL 레코드 쿼리
dig yahoo.com TTL
; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com TTL
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64017
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;yahoo.com. IN A
;; ANSWER SECTION:
yahoo.com. 1606 IN A 74.6.143.25
yahoo.com. 1606 IN A 74.6.231.21
yahoo.com. 1606 IN A 74.6.143.26
yahoo.com. 1606 IN A 98.137.11.164
yahoo.com. 1606 IN A 98.137.11.163
yahoo.com. 1606 IN A 74.6.231.20
;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 13:04:58 IST 2021
;; MSG SIZE rcvd: 134
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 27889
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;TTL. IN A
;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 13:04:58 IST 2021
;; MSG SIZE rcvd: 32
6. 답변만 조회하기 섹션
dig yahoo.com +nocomments +noquestion +noauthority +noadditional +nostats
; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com +nocomments +noquestion +noauthority +noadditional +nostats
;; global options: +cmd
yahoo.com. 1556 IN A 74.6.231.20
yahoo.com. 1556 IN A 98.137.11.163
yahoo.com. 1556 IN A 98.137.11.164
yahoo.com. 1556 IN A 74.6.143.26
yahoo.com. 1556 IN A 74.6.231.21
yahoo.com. 1556 IN A 74.6.143.25
7. 모든 DNS 레코드 유형 쿼리
dig yahoo.com ANY +noall +answer
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> yahoo.com ANY +noall +answer
;; global options: +cmd
yahoo.com. 3509 IN A 72.30.38.140
yahoo.com. 3509 IN A 98.138.253.109
yahoo.com. 3509 IN A 98.139.183.24
yahoo.com. 1709 IN MX 1 mta5.am0.yahoodns.net.
yahoo.com. 1709 IN MX 1 mta6.am0.yahoodns.net.
yahoo.com. 1709 IN MX 1 mta7.am0.yahoodns.net.
yahoo.com. 43109 IN NS ns2.yahoo.com.
yahoo.com. 43109 IN NS ns8.yahoo.com.
yahoo.com. 43109 IN NS ns3.yahoo.com.
yahoo.com. 43109 IN NS ns1.yahoo.com.
yahoo.com. 43109 IN NS ns4.yahoo.com.
yahoo.com. 43109 IN NS ns5.yahoo.com.
yahoo.com. 43109 IN NS ns6.yahoo.com.
8. DNS 역방향 조회
DNS 역방향 조회를 쿼리하는 중입니다. +단축을 사용하여 답변 섹션만 표시합니다.
dig -x 72.30.38.140 +short
ir1.fp.vip.sp2.yahoo.com.
9. 여러 DNS 레코드 쿼리
여러 웹사이트의 DNS 특정 쿼리를 쿼리합니다. MX, NS 등의 레코드입니다.
dig yahoo.com mx +noall +answer redhat.com ns +noall +answer
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> yahoo.com mx +noall +answer redhat.com ns +noall +answer
;; global options: +cmd
yahoo.com. 1740 IN MX 1 mta6.am0.yahoodns.net.
yahoo.com. 1740 IN MX 1 mta7.am0.yahoodns.net.
yahoo.com. 1740 IN MX 1 mta5.am0.yahoodns.net.
redhat.com. 132 IN NS ns1.redhat.com.
redhat.com. 132 IN NS ns4.redhat.com.
redhat.com. 132 IN NS ns3.redhat.com.
redhat.com. 132 IN NS ns2.redhat.com.
10. .digrc 파일 생성
$HOME/.digrc 아래에 .digrc 파일을 생성하여 기본 발굴 옵션을 저장합니다.
dig yahoo.com
yahoo.com. 3427 IN A 72.30.38.140
yahoo.com. 3427 IN A 98.138.253.109
yahoo.com. 3427 IN A 98.139.183.24
사용자 홈 디렉터리 아래의 .digrc 파일에 +noall +answer 옵션을 영구적으로 저장합니다. 이제 dig 명령이 실행될 때마다 dig 출력의 답변 섹션만 표시됩니다. +noall +답변과 같은 옵션을 매번 입력할 필요가 없습니다.
이 기사에서는 (DNS) 도메인 이름 서비스 관련 정보를 검색하는 데 도움이 될 수 있는 dig 명령을 알아보려고 했습니다. 댓글 상자를 통해 생각을 공유해 보세요.