Tìm hiểu về lệnh DIG

  Chưa phân loại

Lệnh dig (đào) là một lệnh rất phổ biến được các quản trị viên hệ thống sử dụng để kiểm tra debug DNS, với dig bạn có thể truy vấn được thông tin các bản ghi như NS, A, CNAME, MX, TXT,…

Thông thường dig không được cài sẵn mặc định theo hệ điều hành mà phải được cài đặt riêng do tính đặc thù của nó chỉ có quản trị viên hệ thống mới có nhu cầu sử dụng.

Cài đặt dig

Cài đặt dig trên Windows

Với windows bạn có thể tải về BIND và thêm nó vào trong biến hệ thống để sử dụng theo hướng dẫn ở link này

Cài đặt dig trên Ubuntu và các hệ điều hành họ Debian

sudo apt install dnsutils

Cài đặt dig trên CentOS và các hệ điều hành RedHat

yum install bind-utils

sau khi cài đặt xong các bạn kiểm tra xem đã cài đặt thành công hay chưa bằng cách thử 1 trong 2 lệnh sau:

dig google.com
dig -v

Cú pháp

Ở dạng đơn giản nhất, cú pháp của câu lệnh dig sẽ có dạng:
dig [server] [domain] [type]

Trong đó:

  • [server] địa chỉ IP hoặc hostname của name server sẽ dùng để thực hiện truy vấn.
    • Nếu bạn cung cấp cho đối số server thông tin về hostname thì nó sẽ giải quyết hostname trước khi tiếp tục truy vấn name server.
    • Đây là tùy chọn nên bạn cũng có thể không khai báo ở đây, trong trường hợp không khai báo thì dig sẽ lấy thông tin này trong file /etc/resolv.conf.
  • [domain] – tên của bản ghi sẽ được truy vấn. VD như subdomain.domain.com, cname.domain.com
  • [type] – Loại bản ghi VD như: NS, A, MX, TXT. nếu không chỉ định thì mặc định sẽ là bản ghi A

Ví dụ:

dig "@1.1.1.1" google.com A

Khi sử dụng lệnh này ta sẽ nhận được kết quả như sau:

  • Dòng đầu tiên hiển thị version và các thông tin truy vấn, bạn có thể tắt bằng cách thêm vào tùy chọn +nocmd
  • Phần tiếp theo (HEADER) sẽ cung cấp cho chúng ta các thông tin, trong đó có status, nếu trả về NOERROR có nghĩa là việc truy vấn không gặp lỗi.
  • Phần “QUESTION” là phần mà lệnh dig hiển thị truy vấn của chúng ta, như lúc nãy ta truy vấn bản ghi A nên giá trị trả về như trong ảnh trên
  • Phần ANSWER là phần quan trọng nhất, nó cung cấp cho chúng ta giá trị truy vấn được. với bản ghi A là một IP cụ thể.

Một số câu truy vấn thông dụng

Truy vấn chỉ lấy địa chỉ IP

dig google.com +short

Truy vấn theo dạng chi tiết hơn

dig google.com +noall +answer
Tùy chọn này (tắt tất cả, hiển thị câu trả lời) tùy chọn này sẽ chỉ mở section answer mà thôi.

Truy vấn với name server cụ thể

dig “@1.1.1.1” google.com NS

Tại đây bạn sẽ thấy server phân giải DNS sẽ là 1.1.1.1

Truy vấn các bản ghi thông dụng khác

Bản ghi CNAME

dig mail.google.com CNAME

Bản ghi MX

dig gmail.com MX

Bản ghi TXT

Tương tự như các bản ghi khác, ta cũng áp dụng với bản ghi MX

dig gmail.com TXT

Kết Luận:

Với lệnh dig mình có thể truy vấn đầy đủ các thông tin cơ bản của một bản ghi mà không cần đến các dv bên thứ 3 như dnschecker, ưu điểm là cực kỳ nhanh và hiệu quả. có thể truy vấn với bất kỳ server DNS nào mình muốn.