Lệnh dig: Cửa sổ truy vấn hệ thống thông tin tên miền DNS

Bạn đã từng sử dụng lệnh nslookup để truy vấn DNS? Nếu có, chắc hẳn bạn sẽ muốn khám phá một công cụ mạnh mẽ hơn, linh hoạt hơn và cung cấp nhiều thông tin chi tiết hơn. Đó chính là lệnh dig! Trong bài viết này, chúng ta sẽ so sánh và đối chiếu lệnh dig với nslookup, đồng thời tìm hiểu sâu hơn về các tính năng và ứng dụng của dig trong việc truy vấn DNS.

1. Truy vấn mục A cho Miền

# 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

Lệnh trên làm cho dig truy vấn mục "A" cho tên miền yahoo.com. Lệnh dig đọc tệp /etc/resolv.conf và truy vấn các máy chủ DNS được liệt kê ở đó. Phản hồi từ máy chủ DNS là những gì dig hiển thị.

Hãy hiểu kết quả của các lệnh:

  • Các dòng bắt đầu bằng dấu ";" là nhận xét không phải là phần của thông tin.
  • Dòng đầu tiên cho biết phiên bản của lệnh dig (9.16.1).
  • Tiếp theo, dig hiển thị tiêu đề của phản hồi mà nó nhận được từ máy chủ DNS.
  • Tiếp theo là phần câu hỏi, chỉ đơn giản cho chúng ta biết truy vấn, trong trường hợp này là truy vấn mục "A" của yahoo.com. Tiếng Anh "IN" có nghĩa là đây là một truy vấn Internet (trong lớp Internet).
  • Phần câu trả lời cho chúng ta biết rằng yahoo.com có địa chỉ IP 98.137.11.163.
  • Cuối cùng, có một số thông tin về truy vấn. Bạn có thể tắt thông tin này bằng cách sử dụng tùy chọn +nostats.

2. Truy vấn Mục A cho Miền với +short

Mặc định, dig khá chi tiết. Một cách để cắt giảm đầu ra là sử dụng tùy chọn +short, sẽ giảm đáng kể đầu ra như dưới đây.

# 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

Lưu ý: Theo mặc định, dig tìm kiếm mục "A" của miền được chỉ định, nhưng bạn cũng có thể chỉ định các bản ghi khác. Bản ghi MX hay bản ghi trao đổi thư điện tử cho biết các máy chủ thư điện tử cách để định tuyến email cho miền. Tương tự TTL, SOA, v.v.

3. Truy vấn Bản ghi MX cho Miền

Truy vấn các loại bản ghi tài nguyên DNS khác nhau.

# 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. Truy vấn Bản ghi SOA cho Miền

# 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. Truy vấn Bản ghi TTL cho Miền

# 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. Chỉ truy vấn Phần Câu trả lời

# 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. Truy vấn Tất cả Các Loại Bản ghi 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. Đảo ngược Truy vấn DNS

Truy vấn Đảo ngược DNS. Chỉ hiển thị phần câu trả lời bằng cách sử dụng +short.

# dig -x 72.30.38.140 +short

ir1.fp.vip.sp2.yahoo.com.

9. Truy vấn Nhiều Bản ghi DNS

Truy vấn các truy vấn cụ thể cho nhiều trang web như MX, NS, v.v. bản ghi.

# 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. Tạo tệp .digrc

Tạo tệp .digrc trong $HOME/.digrc để lưu các tùy chọn dig mặc định.

# 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

Chúng tôi đã lưu các tùy chọn +noall +answer trong tệp .digrc vĩnh viễn trong thư mục $HOME của người dùng. Bây giờ, mỗi khi chạy lệnh dig, nó sẽ chỉ hiển thị phần câu trả lời của đầu ra dig. Không cần nhập các tùy chọn như +noall +answer mỗi lần.

Trong bài viết này, chúng tôi đã cố gắng tìm hiểu về lệnh dig có thể giúp bạn tìm kiếm thông tin liên quan đến Dịch vụ Tên miền (DNS). Chia sẻ suy nghĩ của bạn thông qua hộp bình luận.