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.