Lệnh dig trong linux với các ví dụ dễ hiểu

Lệnh dig trong linux là một công cụ mạnh mẽ để truy vấn thông tin DNS từ máy chủ tên. Nó giúp bạn kiểm tra bản ghi DNS, xác định địa chỉ IP của một tên miền và chẩn đoán các vấn đề liên quan đến DNS. Với dig, bạn có thể dễ dàng tìm hiểu cách tên miền được phân giải trên internet một cách chi tiết.

Lệnh dig trong linux là gì?

Lệnh command dig in linux là một công cụ dòng lệnh mạnh mẽ dùng để truy vấn thông tin từ các máy chủ DNS, giúp bạn kiểm tra và chẩn đoán các vấn đề liên quan đến phân giải tên miền. Nó cho phép bạn tìm kiếm các bản ghi DNS khác nhau, như bản ghi A, MX, CNAME, và nhiều loại bản ghi khác, từ đó hiểu rõ hơn về cách tên miền được ánh xạ tới địa chỉ IP. Sử dụng dig, bạn có thể xác minh xem máy chủ DNS có trả về thông tin chính xác hay không, đồng thời kiểm tra thời gian phản hồi của máy chủ. Ngoài ra, dig còn hỗ trợ nhiều tùy chọn nâng cao để tùy chỉnh truy vấn, giúp bạn phân tích sâu hơn về cấu hình DNS. Với command dig in linux, việc quản lý và khắc phục sự cố DNS trở nên dễ dàng và hiệu quả hơn.

Tìm hiểu Mục đích và Cú pháp của Lệnh dig

Trong bước này, bạn sẽ tìm hiểu về mục đích và cú pháp cơ bản của lệnh dig. Đây là công cụ mạnh mẽ để thực hiện truy vấn DNS (Domain Name System) và khắc phục sự cố mạng.

Lệnh dig là một công cụ quản trị mạng, dùng để truy vấn DNS để lấy thông tin ánh xạ tên miền sang địa chỉ IP và các bản ghi DNS khác. Đây là một công cụ linh hoạt, có thể dùng để chẩn đoán các vấn đề liên quan đến DNS và thực hiện các truy vấn DNS nâng cao.

Hãy bắt đầu bằng cách tìm hiểu cú pháp cơ bản của lệnh dig:

dig [options] [domain]

Cấu trúc cơ bản của lệnh dig bao gồm các thành phần sau:

  • dig: Tên lệnh.
  • [options]: Các tùy chọn hoặc tham số tùy chọn, thay đổi hành vi của lệnh dig.
  • [domain]: Tên miền hoặc địa chỉ IP bạn muốn tra cứu.

Một số tùy chọn phổ biến cho lệnh dig bao gồm:

  • @server: Chỉ định máy chủ DNS để sử dụng cho truy vấn.
  • +trace: Thực hiện truy vấn đệ quy, theo dõi chuỗi giới thiệu đến đích cuối cùng.
  • +norecurse: Thực hiện truy vấn không đệ quy, chỉ truy vấn máy chủ được chỉ định.
  • +short: Hiển thị phiên bản rút gọn của đầu ra.

Hãy thử một lệnh dig cơ bản để tra cứu địa chỉ IP cho miền example.com:

dig example.com

Ví dụ đầu ra:

; <<>> DiG 9.16.1-Ubuntu <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57911
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;example.com.                    IN      A

;; ANSWER SECTION:
example.com.             185     IN      A       93.184.216.34

;; Query time: 14 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Apr 14 10:02:47 UTC 2023
;; MSG SIZE  rcvd: 59

Đầu ra này hiển thị địa chỉ IP (93.184.216.34) liên kết với miền example.com.

Trong bước tiếp theo, bạn sẽ học cách thực hiện các truy vấn DNS nâng cao hơn bằng lệnh dig.

Thực hiện Tra cứu DNS Cơ bản bằng dig

Trong bước này, bạn sẽ học cách thực hiện các tra cứu DNS cơ bản bằng lệnh dig.

Chúng ta hãy bắt đầu bằng cách tra cứu địa chỉ IP cho tên miền google.com:

dig google.com

Ví dụ về kết quả:

; <<>> DiG 9.16.1-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14703
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;google.com.                     IN      A

;; ANSWER SECTION:
google.com.              300     IN      A       142.250.179.78

;; Query time: 14 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Apr 14 10:10:12 UTC 2023
;; MSG SIZE  rcvd: 55

Kết quả cho thấy địa chỉ IP của google.com142.250.179.78.

Bạn cũng có thể thực hiện tra cứu DNS ngược để tìm tên miền liên kết với một địa chỉ IP. Hãy tra cứu tên miền cho địa chỉ IP 8.8.8.8:

dig -x 8.8.8.8

Ví dụ về kết quả:

; <<>> DiG 9.16.1-Ubuntu <<>> -x 8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4852
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;8.8.8.8.in-addr.arpa.           IN      PTR

;; ANSWER SECTION:
8.8.8.8.in-addr.arpa.    14400   IN      PTR     dns.google.

;; Query time: 14 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Apr 14 10:10:33 UTC 2023
;; MSG SIZE  rcvd: 73

Kết quả cho thấy tên miền liên kết với địa chỉ IP 8.8.8.8dns.google..

Trong bước tiếp theo, bạn sẽ khám phá các tùy chọn dig nâng cao hơn để lấy thông tin DNS chi tiết.

Khám phá các tùy chọn dig nâng cao để có thông tin DNS chi tiết

Trong bước này, bạn sẽ học cách sử dụng các tùy chọn dig nâng cao để lấy thông tin DNS chi tiết hơn.

Hãy bắt đầu bằng cách thực hiện tra cứu DNS với tùy chọn +trace, hiển thị đầy đủ chuỗi máy chủ DNS đã dùng.

dig +trace google.com

Ví dụ về kết quả:

; <<>> DiG 9.16.1-Ubuntu <<>> +trace google.com
;; global options: +cmd
.                       518400  IN      NS      a.root-servers.net.
.                       518400  IN      NS      b.root-servers.net.
...
google.com.             300     IN      A       142.250.179.78

Kết quả cho thấy quy trình từng bước phân giải tên miền google.com, bắt đầu từ máy chủ DNS gốc.

Bạn cũng có thể dùng tùy chọn +norecurse để thực hiện tra cứu DNS không đệ quy, chỉ truy vấn máy chủ DNS được chỉ định.

dig +norecurse @8.8.8.8 google.com

Ví dụ về kết quả:

; <<>> DiG 9.16.1-Ubuntu <<>> +norecurse @8.8.8.8 google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48840
;; flags: qr rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;google.com.                     IN      A

;; ANSWER SECTION:
google.com.              300     IN      A       142.250.179.78

;; Query time: 33 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Apr 14 10:19:14 UTC 2023
;; MSG SIZE  rcvd: 55

Lệnh này truy vấn trực tiếp máy chủ Google DNS (8.8.8.8) cho miền google.com, không theo bất kỳ tham chiếu nào.

Bạn cũng có thể sử dụng tùy chọn +short để có được kết quả ngắn gọn hơn, dễ đọc hơn.

dig +short google.com

Ví dụ về kết quả:

142.250.179.78

Lệnh này sẽ chỉ hiển thị địa chỉ IP cuối cùng, mà không có các thông tin bổ sung khác.

Trong bước tiếp theo, bạn sẽ thực hành tất cả kiến thức đã học về lệnh dig.

Kết luận cho linux dig command

```html

Tóm lại, lệnh dig là một công cụ mạnh mẽ để truy vấn thông tin DNS trực tiếp từ dòng lệnh. Nó giúp bạn kiểm tra xem tên miền đã được phân giải đúng địa chỉ IP chưa, hoặc xác minh các bản ghi DNS khác. Với linux dig command, bạn có thể dễ dàng chẩn đoán các vấn đề liên quan đến DNS và đảm bảo website của bạn hoạt động trơn tru. Hãy thử nghiệm với các tùy chọn khác nhau của dig để hiểu rõ hơn về cách nó hoạt động. Hy vọng bài viết này đã cung cấp cho bạn một cái nhìn tổng quan hữu ích về lệnh dig. Chúc bạn thành công trong việc quản lý và khắc phục sự cố DNS! Đừng ngần ngại tìm hiểu thêm các tài liệu khác để nâng cao kiến thức của bạn.

```
Last Updated : 15/10/2025