Lệnh dig trong Linux là công cụ giúp tra cứu thông tin DNS của domain, cho phép người dùng kiểm tra các bản ghi DNS như A, MX, TXT, giúp xác định cấu hình mạng và phân giải tên miền. Để hiểu sâu hơn và có cái nhìn tổng quát từ khái niệm cơ bản, các tùy chọn truy vấn phổ biến, cho đến cách cài đặt và các ví dụ minh họa thực tế về lệnh dig trong Linux, bạn hãy cùng Vietnix theo dõi những chia sẻ trong bài viết này.
Những điểm chính
Sau khi đọc bài viết, người đọc sẽ nắm vững các điểm chính sau đây:
- Hiểu khái niệm và mục đích của lệnh dig trong Linux, công cụ mạnh mẽ để tra cứu và phân tích thông tin DNS.
- Người đọc sẽ biết về các loại bản ghi DNS quan trọng như: A. MX, SIG, TXT, CNAME…
- Bạn sẽ hiểu và biết cách sử dụng các tùy chọn hữu ích khi thực hiện các truy vấn DNS bằng lệnh dig.
- Biết được cách kiểm tra xem lệnh
dig
đã được cài đặt hay chưa và các bước cài đặt cụ thể trên Ubuntu. - Người đọc sẽ học cách sử dụng lệnh dig qua các ví dụ cụ thể, bao gồm: Truy vấn tên miền, tra cứu DNS ngược, theo dõi đường dẫn DNS.
- Vietnix – Nhà cung cấp VPS với công nghệ xử lý dữ liệu tiên tiến.
Lệnh dig trong Linux là gì?
Lệnh dig
viết tắt của Domain Information Groper trong Linux là công cụ dòng lệnh có sẵn của Linux sử dụng với mục đích quản trị mạng, tra cứu thông tin về hệ thống tên miền DNS. Chức năng chính của dig
bao gồm kiểm tra, truy xuất thông tin và khắc phục sự cố liên quan đến DNS server, cũng như tìm kiếm tên máy chủ.
Được phát triển nhằm thay thế cho các công cụ cũ như nslookup và host, Domain Information Groper cung cấp khả năng truy vấn các bản ghi DNS của tên miền, bao gồm các bản ghi A, AAAA, MX, CNAME, TXT và nhiều loại khác, mang lại sự linh hoạt và hiệu quả cho các nhiệm vụ quản trị mạng.
Cú pháp của lệnh rất đơn giản:
dig [server] [name] [type]
Trong đó:
- server: là tên hoặc địa chỉ IP của máy chủ DNS mà bạn muốn gửi yêu cầu. Nếu không chỉ định máy chủ, dig sẽ tự động sử dụng máy chủ DNS được cấu hình trên hệ thống của bạn.
- name: Tên miền hoặc địa chỉ IP của bản ghi tài nguyên (resource record) mà bạn cần tra cứu.
- type: Loại bản ghi DNS mà bạn muốn truy vấn, chẳng hạn như A, MX, TXT, v.v. Nếu không chỉ định loại, dig sẽ mặc định tra cứu bản ghi A (địa chỉ IPv4).
Một số loại bản ghi DNS phổ biến
Những bản ghi dưới đây là các thành phần quan trọng trong hệ thống DNS và giúp đảm bảo rằng việc tra cứu và phân giải tên miền diễn ra chính xác và hiệu quả:
- Bản ghi A (Address Record): Là một trong những loại bản ghi cơ bản, quan trọng nhất trong hệ thống DNS, đóng vai trò là cầu nối giữa tên miền (hostname) và địa chỉ IP. Cụ thể, bản ghi A ánh xạ một tên miền trực tiếp đến địa chỉ IPv4, giúp trình duyệt và các ứng dụng xác định được vị trí của server đích trên Internet.
Ví dụ: Nếu bạn có bản ghi A cho example.com, nó có thể ánh xạ example.com tới địa chỉ IP như 192.0.2.1.
- Bản ghi MX (Mail Exchange): Là một loại bản ghi DNS chuyên biệt, dùng để chỉ định các máy chủ email cho một tên miền. Bản ghi này chứa các thông tin hướng dẫn cách chuyển tiếp email đến các máy chủ mail được chỉ định, đảm bảo rằng các email gửi đến tên miền sẽ được truyền đến đúng máy chủ để xử lý và phân phối.
Ví dụ: Một bản ghi MX cho example.com có thể chỉ định rằng email gửi đến user@example.com nên được chuyển đến máy chủ mail có địa chỉ mail.example.com.
- Bản ghi SIG (Signature Record): Là một phần của hệ thống DNSSEC (DNS Security Extensions), được sử dụng để xác thực chữ ký số của các bản ghi DNS. Bản ghi này hỗ trợ các giao thức mã hóa để bảo mật thông tin DNS, đảm bảo tính toàn vẹn và xác thực cho dữ liệu.
- Bản ghi TXT (Text Record): Được sử dụng để lưu trữ văn bản có thể đọc được dưới dạng chuỗi. Đây có thể là các thông tin bổ sung hoặc cấu hình như mã xác thực SPF (Sender Policy Framework) cho email, xác thực tài khoản với dịch vụ bên ngoài, hoặc các ghi chú khác.
- Bản ghi CNAME (Canonical Name Record): Được sử dụng để tạo một alias cho một tên miền khác. Thay vì ánh xạ trực tiếp một tên miền đến một địa chỉ IP như Address Record thì bản ghi CNAME ánh xạ một tên miền đến một tên miền khác.
Ví dụ: Nếu bạn có một bản ghi CNAME cho www.example.com, nó có thể ánh xạ đến example.com, và bất kỳ yêu cầu nào tới www.example.com sẽ được chuyển hướng đến example.com.
- Bản ghi SOA (Start of Authority): Là một bản ghi DNS đặc biệt quan trọng, chịu trách nhiệm quản lý và điều phối tên miền. Bản ghi SOA chứa thông tin thiết yếu về tên miền, bao gồm máy chủ DNS chính quản lý tên miền đó, cùng các tham số quan trọng khác như thời gian làm mới, hết hạn, và thông tin liên lạc của người quản trị.
- Bản ghi NS (Name Server Record): Là một loại bản ghi DNS dùng để xác định các máy chủ tên miền chịu trách nhiệm quản lý một tên miền cụ thể trên Internet. Bản ghi NS cung cấp thông tin về máy chủ định danh chính (primary name server) và máy chủ định danh phụ (secondary name server), đảm bảo rằng các truy vấn liên quan đến tên miền sẽ được hướng dẫn đến các máy chủ phù hợp để xử lý.
Ví dụ: Một bản ghi NS cho example.com có thể chỉ định rằng máy chủ DNS có tên ns1.example.com là máy chủ tên miền chính cho example.com.
Tùy chọn, truy vấn phổ biến trong lệnh dig
Lệnh dig
cung cấp nhiều tùy chọn và tham số để thực hiện tra cứu DNS, giúp bạn tùy chỉnh cách thức tra cứu và hiển thị kết quả. Mỗi tùy chọn truy vấn được biểu thị bằng một từ khóa có dấu cộng (+) ở đầu. Một số từ khóa có thể thêm hoặc loại bỏ một tùy chọn, trong khi một số khác cho phép gán giá trị cụ thể cho tùy chọn đó theo dạng +keyword=value. Để tìm hiểu chi tiết về các tùy chọn này, bạn có thể tham khảo trang hướng dẫn bằng cách sử dụng lệnh man dig.
Tùy chọn hữu ích sử dụng trong lệnh dig
Tùy chọn | Mô tả |
---|---|
-4 | Chỉ Sử dụng cho IPv4. |
-6 | Chỉ Sử dụng cho IPv6. |
-b address | Đặt địa chỉ IP nguồn cho truy vấn. |
-c class | Đặt lớp truy vấn (class) của bản ghi DNS. |
-f file | Được sử dụng cho chế độ batch mode. Lệnh dig sẽ lấy các yêu cầu tra cứu từ file chỉ định và xử lý từng dòng theo thứ tự trong file. |
-i | Dùng tra cứu ngược IPv6. |
-m | Kích hoạt chế độ gỡ lỗi việc sử dụng bộ nhớ. |
-u | Hiển thị thời gian truy vấn tính bằng micro giây. |
-v | Hiển thị thông tin phiên bản của lệnh dig . |
-x | Thực hiện tra cứu ngược để ánh xạ địa chỉ IP thành tên miền. |
-t type | Chỉ định loại bản ghi tài nguyên (resource record) để tra cứu. |
Lưu ý
Các tùy chọn trong giao diện dòng lệnh (CLI) của Linux đều phân biệt chữ hoa chữ thường, vì vậy bạn cần để ý khi sử dụng tránh sai sót.
Truy vấn phổ biến, ưa dùng
Dưới đây là một số tùy chọn truy vấn hữu ích cho lệnh dig, giúp bạn tùy chỉnh cách thức tra cứu và hiển thị kết quả một cách linh hoạt và chính xác:
Truy vấn | Mô tả |
---|---|
+[no]aaonly | Tùy chọn này cho phép bạn bật hoặc tắt flag “aa” trong truy vấn, giúp xác định câu trả lời có được chứng thực từ server gốc hay không. |
+[no]short | Nếu bạn muốn nhận được câu trả lời ngắn gọn, hãy sử dụng tùy chọn này. Mặc định, lệnh dig sẽ hiển thị câu trả lời chi tiết và đầy đủ. |
+[no]answer | Cho phép bạn lựa chọn hiển thị hoặc ẩn phần câu trả lời của phản hồi. Mặc định, phần này luôn được hiển thị để cung cấp thông tin cần thiết cho người dùng. |
+[no]question | Bạn có thể tùy chọn hiển thị hoặc ẩn phần câu hỏi trong truy vấn khi nhận được câu trả lời, giúp đơn giản hóa kết quả khi cần thiết. |
+[no]all | Tùy chọn này giúp bạn bật hoặc tắt tất cả các flag hiển thị cùng một lúc. |
+[no]cl | Quyết định xem có hiển thị CLASS khi in bản ghi hay không, tùy vào nhu cầu tra cứu của bạn. |
+[no]qr | Nếu bạn muốn theo dõi chính xác truy vấn nào đã được gửi đi, tùy chọn này cho phép bạn in ra truy vấn đó. Mặc định, truy vấn sẽ không được in ra. |
+time=T | Tùy chỉnh thời gian chờ cho truy vấn theo giây. Mặc định là 5 giây, nhưng bạn có thể điều chỉnh tùy theo yêu cầu, với thời gian chờ tối thiểu là 1 giây. |
+[no]fail | Khi gặp lỗi SERVFAIL, tùy chọn này cho phép bạn quyết định có thử truy vấn với máy chủ tiếp theo hay không. Và mặc định, lệnh dig sẽ thử máy chủ tiếp theo. |
+[no]comments | Bật hoặc tắt hiển thị các dòng bình luận trong kết quả, giúp bạn dễ dàng đọc và phân tích thông tin. |
+[no]ttlid | Tùy chọn này quyết định xem có hiển thị TTL (Time To Live) khi in bản ghi hay không, giúp bạn kiểm soát thời gian tồn tại của các bản ghi. |
+[no]trace | Khi cần theo dõi đường dẫn ủy quyền từ máy chủ gốc, tùy chọn này cho phép bạn bật tính năng theo dõi, giúp lệnh dig thực hiện các truy vấn lặp lại để giải quyết tên miền. |
+[no]cmd | Bật hoặc tắt việc hiển thị phần bình luận ban đầu của lệnh dig, mang lại sự linh hoạt trong việc xem thông tin. |
+[no]stats | Tùy chọn này giúp bạn quyết định có hiển thị phần thống kê của truy vấn hay không, cung cấp một cái nhìn toàn diện về quá trình thực hiện. |
+[no]authority | Cho phép bạn chọn hiển thị hoặc ẩn phần authority của phản hồi, giúp quản lý thông tin một cách hiệu quả. |
+[no]additional | Tương tự, bạn có thể tùy chọn hiển thị hoặc ẩn phần bổ sung của phản hồi, đảm bảo rằng chỉ những thông tin cần thiết mới được hiển thị. |
Cách cài đặt lệnh dig trong Linux
Kiểm tra cài đặt lệnh dig trên hệ thống
Trên thực tế thì hầu hết các phiên bản Linux ở thời điểm hiện tại đều được cài đặt lệnh dig
sẵn. Tuy nhiên, để chắc chắn hơn thì bạn có thể kiểm tra xem lệnh dig
đã được cài đặt trên hệ thống Linux chưa bằng cách mở Terminal và nhập lệnh:
dig -v
Kết quả: Nếu lệnh dig đã có sẵn, thông tin phiên bản sẽ xuất hiện còn trong trường hợp chưa có thì bạn có thể tải về, cài đặt theo hướng dẫn của mình ngay bên dưới.
4 bước cài đặt lệnh dig trên Ubuntu
Bước 1: Bạn cần mở Ubuntu Terminal.
Bước 2: Tiếp đó, hãy nhập câu lệnh bên dưới:
sudo apt-get install dnsutils
Bước 3: Hãy nhập mật khẩu của bạn khi có yêu cầu.
Bước 4: Cuối cùng, bạn chọn phím ENTER và đợi kết quả.
Kết quả: Sau khi hoàn thành 4 bước trên, lệnh dig sẽ được cài đặt trên hệ thống. Để một lần nữa kiểm tra xem lệnh dig
đã được cài đặt thành công hay chưa, bạn có thể kiểm tra phiên bản như đã làm trước đó bằng cách sử dụng tùy chọn -v
với lệnh dig
.
10 ví dụ về lệnh dig trong Linux
- Ví dụ 1: Truy vấn tên miền bằng lệnh dig
- Ví dụ 2: Hiển thị chi tiết một phần cụ thể bằng lệnh dig trong Linux
- Ví dụ 3: Đơn giản hóa kết quả dig bằng các tùy chọn hiển thị
- Ví dụ 4: Theo dõi đường dẫn DNS bằng lệnh dig trong Linux
- Ví dụ 5: Liệt kê tất cả bản ghi DNS của tên miền bằng lệnh dig
- Ví dụ 6: Truy vấn loại bản ghi cụ thể bằng lệnh dig trong Linux
- Ví dụ 7: Truy vấn nameserver cụ thể bằng lệnh dig trong Linux
- Ví dụ 8: Tra cứu DNS ngược bằng lệnh dig trong Linux
- Ví dụ 9: Truy vấn nhiều tên miền bằng lệnh dig trong Linux
- Ví dụ 10: Điều chỉnh các tùy chọn mặc định cho output hiển thị
Để có cái nhìn trực quan hơn về lệnh này, mình đã đưa các ví dụ thực tiễn dưới đây mô tả chi tiết về cách sử dụng dig
hiệu quả.
Ví dụ 1: Truy vấn tên miền bằng lệnh dig
Để thực hiện truy vấn domain bạn cần thực hiện các bước sau với cú pháp:
dig <domain_name>
Gồm 3 bước thực hiện như sau:
Bước 1: Bạn cần mở Ubuntu Terminal.
Bước 2: Hãy nhập lệnh sau vào command prompt.
dig google.com
Bước 3: Cuối cùng bạn cần nhấn phím ENTER và chờ đợi kết quả.
Giải thích output – Kết quả
Như bạn có thể thấy thì kết quả trả về bên trên khá nhiều và tương đối phức tạp. Những đừng quá lo lắng, mình sẽ giúp bạn đọc và hiểu toàn bộ đoạn kết quả trên, theo dõi bên dưới.
- Phiên bản lệnh: Dòng đầu tiên hiển thị phiên bản lệnh
dig
.
- HEADER: Thông tin nhận được từ máy chủ DNS. Các flag chỉ định định dạng của phần trả lời.
- OPT PSEUDOSECTION: Dữ liệu nâng cao về EDNS, flags và kích thước package UDP.
- QUESTION: Dữ liệu câu hỏi được gửi bởi lệnh
dig
. Bao gồm tên miền tìm kiếm, loại truy vấn (IN cho Internet), và loại bản ghi (A cho địa chỉ).
- ANSWER: Phần quan trọng nhất, gồm:
- Tên máy chủ được truy vấn.
- Thời gian làm mới bản ghi.
- Các thông tin tương tự như phần QUESTION bao gồm class và record.
- Địa chỉ IP liên quan đến tên miền.
- STATISTICS: Thống kê về truy vấn, bao gồm những thông tin sau:
- Query time: Thời gian phản hồi.
- SERVER: Cổng và địa chỉ IP của máy chủ DNS phản hồi.
- WHEN: Thời gian lệnh được thực hiện.
- MSG SIZE rcvd: Kích thước của phản hồi từ DNS.
Ví dụ 2: Hiển thị chi tiết một phần cụ thể bằng lệnh dig trong Linux
Khi bạn muốn thiết lập hoặc xóa tất cả các thông tin hiển thị, hãy sử dụng tùy chọn +noall
. Hoặc trong trường hợp bạn cần xem thông tin chi tiết của một phần cụ thể thì bạn cần ẩn tất cả các phần bằng cách sử dụng +noall
trước rồi sau đó bạn chỉ định phần cần xem bằng cách thêm dấu cộng (+) trước tên phần đó và đặt làm tùy chọn sau lệnh dig
. Với cú pháp:
dig <domain_name> +noall +<section_name>
Bạn thực hiện theo 4 bước sau:
Bước 1: Bạn cần mở Ubuntu Terminal.
Bước 2: Để xem thông tin chi tiết phần ANSWER thì bạn nhập cú pháp như sau rồi nhấn ENTER để xem kết quả.
dig google.com +noall +answer
Bước 3: Nếu bạn cần xem tiếp thông tin phần QUESTION thì nhập cú pháp này và cũng nhấn ENTER nha.
dig google.com +noall +question
Bước 4: Bạn nhập cú pháp tương tự rồi cũng nhấn phím ENTER để xem phần STATISTICS.
dig google.com +noall +stats
Giải thích output – Kết quả
Dưới đây là kết quả trả về sau khi thực hiện bạn đã chạy phía bên trên. Như bạn có thể thấy thì:
- Lệnh đầu tiên chỉ hiển thị phần ANSWER.
- Lệnh thứ hai chỉ hiển thị phần QUESTION.
- Lệnh thứ ba chỉ hiển thị phần STATISTICS.
Ví dụ 3: Đơn giản hóa kết quả dig bằng các tùy chọn hiển thị
Như bạn đã thấy ở ví dụ 1 thì lệnh dig
thường hiển thị thông tin chi tiết và nhiều thông tin, bao gồm cả những thông tin bị lặp lại. Tuy nhiên đừng lo lắng quá, để tối ưu thông tin hiển thị thì bạn có thể thực hiện theo hướng dẫn sau.
Cú pháp chỉ hiển thị địa chỉ IP của tên miền:
dig <domain_name> +short
Cú pháp loại bỏ các dòng bình luận:
dig <domain_name> +nocomments
Có 3 bước thực hiện
Bước 1: Bạn mở Terminal trên Ubuntu.
Bước 2: Nhập cú pháp dưới đây và nhấn ENTER thì màn hình sẽ chỉ hiện thị địa chỉ IP của domain bạn mong muốn.
dig google.com +short
Bước 3: Sau đó bạn nhập lệnh sau rồi chọn ENTER để xem các thông tin chi tiết về domain mà không có bình luận nào.
dig google.com +nocomments
Giải thích output – Kết quả
Từ hình ảnh kết quả bên dưới thì bạn có thể thấy rằng với tùy chọn +short
thì kết quả chỉ hiển thị địa chỉ IP của tên miền google.com. Còn đối với tùy chọn +nocomments
thì kết quả sẽ không có bất kỳ dòng bình luận nào.
Ví dụ 4: Theo dõi đường dẫn DNS bằng lệnh dig trong Linux
Để theo dõi đường dẫn DNS thì bạn có thể sử dụng tùy chọn trace kết hợp với lệnh dig
. Vi Trace option sẽ cung cấp danh sách các máy chủ mà truy vấn dig
đi qua, thực hiện tuần tự và bắt đầu từ máy chủ gốc và tiếp tục di chuyển xuống từng cấp của namespace tree. Cú pháp:
dig <domain_name> +trace
Có 2 bước thực hiện như sau:
Bước 1: Bạn cần mở Terminal trên Ubuntu rồi nhập lệnh sau vào command prompt:
dig google.com +trace
Bước 2: Sau đó bạn cần nhấn ENTER và đợi kết quả trả về.
Giải thích output – Kết quả
Sau khi dòng lệnh bên trên chạy xong thì bạn có thể thấy danh sách thông tin của các máy chủ khác nhau mà truy vấn đã đi qua.
Ví dụ 5: Liệt kê tất cả bản ghi DNS của tên miền bằng lệnh dig
Bạn có nhu cầu hiển thị tất cả các loại bản ghi DNS cho tên miền cụ thể thì bạn có thể sử dụng lệnh dig kết hợp với tùy chọn ANY
. Bạn hãy theo dõi bên dưới để nắm cú pháp và cách sử dụng về lệnh này. Cú pháp lệnh như sau:
dig <domain_name> ANY
Gồm 2 bước thực hiện:
Bước 1: Mở Terminal trên Ubuntu rồi bạn nhập lệnh sau vào command prompt.
dig google.com ANY
Bước 2: Sau khi nhập lệnh trên thì bạn chỉ cần nhấn ENTER và đợi kết quả trả về.
Giải thích output – Kết quả
Hình ảnh bên dưới là kết quả của lệnh dig
trên Linux, được sử dụng để truy vấn thông tin DNS (Domain Name System) cho miền google.com. Trong hình ảnh này, lệnh dig google.com ANY
được chạy để lấy tất cả các bản ghi DNS liên quan đến tên miền google.com.
Ví dụ 6: Truy vấn loại bản ghi cụ thể bằng lệnh dig trong Linux
Thay vì tìm kiếm tất cả các loại bản ghi cùng một lúc, bạn có thể tra cứu một bản ghi cụ thể chỉ cần bạn cần thêm tên loại bản ghi vào cuối lệnh dig
như cú pháp dưới đây:
dig <domain_name> <type>
6.1. Bảng ghi A (IPv4)
Thực tế, bản ghi A tức A record là loại bản ghi phổ biến nhất, dùng để ánh xạ tên miền đến địa chỉ IPv4. Và trong câu lệnh trên, nếu bạn không chỉ định loại bản ghi khi sử dụng lệnh thì mặc định máy sẽ tìm bản ghi loại A. Với cú pháp:
dig google.com A +noall +answer
Kết quả: Sau khi mở Terminal rồi nhập câu lệnh trên và nhấn ENTER bạn sẽ nhận được kết quả như hình bên dưới chỉ với 1 dòng hiển thị địa chỉ IPv4 của tên miền google.com.
6.2. Bản ghi TXT
Bản ghi TXT (Text Record): Được sử dụng để lưu trữ văn bản hoặc thông tin bổ sung không phù hợp với các định dạng bản ghi khác. Các bản ghi TXT sẽ thường đi kèm với các loại bản ghi khác để cung cấp thông tin thêm. Cú pháp lệnh như sau:
dig google.com TXT +noall +answer
Kết quả: Tương tự với A record thì sau khi bạn nhập lệnh này lên Terminal và nhấn ENTER để chạy thì màn hình sẽ chạy và hiển thị các bản ghi TXT liên quan đến tên miền google.com.
6.3. Bản ghi MX
Mail eXchange Record hay còn được biết với tên bản ghi MX là loại bản ghi DNS chịu trách nhiệm chỉ định các máy chủ email đảm nhận việc tiếp nhận và chuyển tiếp mọi thư điện tử gửi đến tên miền của bạn. Khác với các bản ghi DNS thông thường, bản ghi MX không chỉ định địa chỉ IP mà chỉ định tên của máy chủ email, chứ không phải địa chỉ IP. Điều này có nghĩa là mỗi máy chủ email phải có một bản ghi A (Address Record) để liên kết tên máy chủ đó với địa chỉ IP tương ứng. Với Cú pháp:
dig google.com MX +noall +answer
Kết quả: Tương tự với các truy vấn bản khi khác ở trên thì sau khi bạn chạy dòng lệnh này, màn hình sẽ hiểu thị các bản ghi MX liên quan đến tên miền google.com, cho biết các máy chủ email chịu trách nhiệm nhận email gửi đến tên miền đó.
6.4. Bản ghi NS
Bản ghi NS (NS Record) chứa thông tin về các máy chủ tên miền có thẩm quyền. Để tìm loại bản ghi NS cho tên miền cụ thể, bạn chỉ cần thêm “NS” vào cuối lệnh. Cú pháp:
dig google.com NS +noall +answer
Kết quả: Sau khi chạy lệnh này trên Terminal thì kết quả sẽ hiển thị các bản ghi NS liên quan đến tên miền google.com, cho biết các máy chủ tên chịu trách nhiệm quản lý và cung cấp thông tin DNS cho tên miền đó.
6.5. Bản ghi SOA
Bản ghi SOA (Start Of Authority): Là loại bản ghi DNS chứa thông tin quan trọng về một domain hoặc vùng, cung cấp thông tin quản lý về miền, chẳng hạn như người quản lý miền, thời gian làm mới, thời gian hết hạn, và số phiên bản của vùng dữ liệu. Nhập cú pháp lệnh dưới đây:
dig google.com SOA +noall +answer
Kết quả: Với lệnh trên thì màn hình sẽ trả về thông tin về quyền sở hữu và quản lý miền của google.com trên màn hình Terminal.
Ví dụ 7: Truy vấn nameserver cụ thể bằng lệnh dig trong Linux
Khi bạn sử dụng lệnh dig mà không chỉ định nameserver, lệnh sẽ sử dụng các nameserver mặc định được liệt kê trong file /etc/resolv.conf
của hệ thống. Tuy nhiên, nếu bạn muốn sử dụng một nameserver cụ thể, bạn có thể thực hiện cú pháp dưới đây:
dig <domain_name> @<Name_server_IP_address>
Trong đó:
- <domain_name>: Tên miền bạn muốn kiểm tra (ví dụ: youtube.com).
- @<Name_server_IP_address>: Địa chỉ IP của máy chủ tên bạn muốn sử dụng (ví dụ: 8.8.8.8).
Gồm 2 bước thực hiện
Bước 1: Bạn cần mở Ubuntu Terminal rồi nhập lệnh sau vào command prompt:
dig youtube.com @8.8.8.8
Bước 2: Sau đó bạn cần nhấn ENTER và đợi kết quả trả về.
Giải thích output – Kết quả
Như bạn có thể thấy, lệnh dig
đã sử dụng domain server là 8.8.8.8 (của Google) mà bạn đã chỉ định trong dòng lệnh và trả về kết quả về miền youtube.com từ máy chủ đó.
Ví dụ 8: Tra cứu DNS ngược bằng lệnh dig trong Linux
Ngoài cách tìm kiếm địa chỉ IP liên kết với một tên miền bằng cách nhập tên miền vào lệnh dig
thì bạn còn có thể thực hiện lệnh tìm kiếm DNS ngược lại. Tức là bạn tìm kiếm tên miền bằng cách nhập địa chỉ IP, sử dụng tùy chọn -x
với lệnh dig
. Cú pháp:
dig -x <IP address>
Bạn thực hiện theo 3 bước sau:
Bước 1: Trước tiên, bạn cần mở Terminal trên hệ điều hành Ubuntu của mình.
Bước 2: Nhập lệnh dig -x <IP address>
vào Terminal, bạn sẽ thay <IP address> bằng địa chỉ IP mà mình muốn tra cứu. Ví dụ, Vietnix chọn địa chỉ IP được sử dụng trong lệnh này là 8.8.8.8.
dig -x 8.8.8.8
Bước 3: Sau khi nhập lệnh, nhấn nút ENTER để thực hiện lệnh và đợi kết quả.
Giải thích output – Kết quả
Lệnh dig -x
sẽ trả về thông tin về tên miền tương ứng với địa chỉ IP bạn đã nhập. Trong ví dụ này, địa chỉ IP 8.8.8.8 sẽ trả về tên miền liên quan, và cụ thể ở đây thì liên quan đến Google.
Ví dụ 9: Truy vấn nhiều tên miền bằng lệnh dig trong Linux
Ngoài việc thao tác từng câu lệnh với mỗi tên miền, bạn có thể truy vấn nhiều tên miền trong cùng một lúc bằng cách tạo một file chứa danh sách tên miền, bạn sử dụng lệnh dig với tùy chọn -f
để thực hiện truy vấn nhiều tên miền cùng lúc. Cú pháp thực hiện như sau:
dig -f <file_name>
Có 5 bước thực hiện như sau:
Bước 1: Bạn cần mở Terminal trên hệ điều hành Ubuntu.
Bước 2: Bạn tạo một file văn bản mới bằng cách nhập lệnh nano file.txt
. Sau đso, bạn nhấn ENTER để mở trình chỉnh sửa văn bản Nano.
Bước 3: Tại Nano, bạn hãy nhập danh sách các tên miền muốn truy vấn, lưu ý rằng mỗi tên miền trên một dòng.
google.com
youtube.com
facebook.com
microsoft.com
Bước 4: Tiếp đó, bạn lưu tệp bằng cách nhấn CTRL + S, và sau đó thoát khỏi Nano bằng cách nhấn CTRL + X.
Bước 5: Cuối cùng, bạn chạy lệnh truy vấn danh sách tên miền đã lưu bằng cách nhập lệnh bên dưới vào Terminal, tiếp tục nhấn ENTER để thực hiện lệnh và xem kết quả.
dig -f file.txt +short
Giải thích output – Kết quả
Tại bước đầu tiên, bạn cần tạo file với tên bất kỳ để lưu các domain cần truy xuất dữ liệu. Ở ví dụ này, mình đặt tên và tạo một file tên file.txt và nhập các tên miền cần truy vấn, mỗi tên miền sẽ nằm trên một dòng khác nhau.
Khi đã hoàn thành file, bạn cần lưu và đóng trình soạn thảo để thực hiện bước tiếp theo. Tại bước này, bạn nhập lệnh thứ hai để bắt đầu truy vấn, lệnh dig
sẽ xử lý tất cả các tên miền trong file cùng một lúc và trả về kết quả cho từng tên miền theo thứ tự một cách rõ ràng và nhanh chóng.
Ví dụ 10: Điều chỉnh các tùy chọn mặc định cho output hiển thị
Các thông tin hiển thị trên màn hình sau mỗi lần truy vấn bởi lệnh dig
có thể được thay đổi trong file ~/.digrc. Để thực hiện điều chỉnh, bạn cần mở file này và chọn chỉnh sửa với các tùy chọn để thay đổi cách hiển thị output theo mong muốn cá nhân.
Giả sử, nếu bạn muốn lệnh dig chỉ hiển thị phần ANSWER trong kết quả truy vấn, bạn có thể chỉnh sửa file ~/.digrc để giới hạn đầu ra chỉ bao gồm phần ANSWER cho các truy vấn sau này. Các bước thực hiện chi tiết sẽ được hướng dẫn bên dưới.
Có 4 bước thực hiện:
Bước 1: Trước tiên, bạn hãy mở Ubuntu Terminal.
Bước 2: Bạn hãy nhập lệnh bên dưới vào command prompt và nhấn ENTER để tiến hành chỉnh sửa file ~/.digrc.
nano ~/.digrc
Bước 3: Tại màn hình chỉnh sửa, bạn hãy nhập các tùy chọn mà mình muốn thay đổi hiển thị. Chẳng hạn, mình muốn chỉ hiển thị thông tin chi tiết của phần ANSWER cho những lần truy vấn sau.
+noall
+answer
Bước 4: Sau khi nhập xong tùy chọn, bạn cần lưu file bằng cách nhấn CTRL + S rồi thoát bằng CTRL + X là đã hoàn thành.
Kiểm tra: Để chắc rằng mọi thứ đã được lưu và chạy ổn định, bạn có thể thực hiện kiểm tra lại với các dòng lệnh cơ bản rồi nhấn ENTER và xem kết quả hiển thị có đúng như bạn mong muốn hay không.
dig google.com
Giải thích output – Kết quả
Sau khi nhập lệnh đầu tiên, bạn sẽ thấy trình chỉnh sửa văn bản nano hiển thị trông như hình dưới đây.
Tiếp đó, hãy nhập các tùy chọn theo hiển thị output mong muốn cá nhân. Như ở ví dụ này, mình chỉ muốn hiển thị phần ANSWER trong kết quả. Vì vậy, mình đã nhập tùy chọn +noall
để xóa tất cả các flag và nhấn ENTER, rồi tiếp tục nhập +answer
trên dòng tiếp theo để chỉ hiển thị phần ANSWER.
Sau khi hoàn tất, bạn hãy lưu file và thoát ra, đồng thời kiểm tra lại bằng các nhập lệnh để truy xuất thông tin domain bất kỳ. Kết quả dưới đây là minh chứng cho việc output đã trả về đúng yêu cầu và mong muốn của mình tại câu lệnh thứ hai. Sau khi thực hiện lệnh kết quả sẽ chỉ trả về phần ANSWER trong tất cả các lần truy vấn sau này.
Vietnix – Nhà cung cấp VPS với công nghệ xử lý dữ liệu tiên tiến
Vietnix cung cấp dịch vụ thuê VPS chất lượng cao với khả năng mở rộng linh hoạt, giúp bạn dễ dàng nâng cấp cấu hình và mở rộng tài nguyên khi nhu cầu thay đổi. Dịch vụ VPS của Vietnix sử dụng ổ cứng NVMe Enterprise siêu tốc, mang lại tốc độ truy xuất dữ liệu nhanh chóng và đảm bảo an toàn tối đa cho dữ liệu của bạn. Với hiệu suất ổn định và băng thông không giới hạn, VPS Vietnix sẽ đáp ứng hoàn hảo mọi nhu cầu sử dụng từ doanh nghiệp đến các dự án cá nhân.
VPS AMD của Vietnix mang đến hiệu năng xử lý mạnh mẽ với bộ vi xử lý AMD EPYC thế hệ mới, lý tưởng cho các tác vụ xử lý dữ liệu phức tạp và yêu cầu tính toán cao. Với cấu hình 24 nhân, 48 luồng và xung nhịp lên đến 3.35 GHz, VPS AMD có khả năng xử lý đồng thời nhiều tác vụ mà không gặp phải sự gián đoạn. Ngoài ra, dịch vụ còn sử dụng ổ cứng NVMe cho tốc độ truy xuất dữ liệu nhanh gấp 10 lần so với SSD thông thường, cùng với độ ổn định cao và uptime lên đến 99.9%. VPS AMD cũng hỗ trợ nhiều hệ điều hành và cho phép nâng cấp cấu hình dễ dàng khi nhu cầu tăng cao.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Hy vọng rằng qua bài viết này, bạn đã có thông tin tổng quan để sử dụng lệnh dig một cách hiệu quả, góp phần nâng cao hiệu suất công việc và đảm bảo an toàn cho hệ thống mạng của mình. Nếu có bất cứ vấn đề gì cần hỗ trợ hay thắc mắc thì bạn đừng ngần ngại để lại bình luận phía bên dưới để đội ngũ của Vietnix hỗ trợ bạn.