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
Truy vấn với name server cụ thể
dig “@1.1.1.1” google.com NS
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.