Android

Lệnh đào trong linux (tra cứu dns)

Cấu hình và cài đặt dịch vụ DNS Server Linux Ubuntu 20.4

Cấu hình và cài đặt dịch vụ DNS Server Linux Ubuntu 20.4

Mục lục:

Anonim

Dig (Domain Information Groper) là một công cụ dòng lệnh mạnh mẽ để truy vấn các máy chủ tên DNS.

Với lệnh dig , bạn có thể truy vấn thông tin về các bản ghi DNS khác nhau, bao gồm địa chỉ máy chủ, trao đổi thư và máy chủ tên. Đây là công cụ được sử dụng phổ biến nhất trong số các quản trị viên hệ thống để khắc phục sự cố DNS vì tính linh hoạt và dễ sử dụng của nó.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng tiện ích dig thông qua các ví dụ thực tế và giải thích chi tiết về các tùy chọn dig phổ biến nhất.

Cài đặt dig

Để kiểm tra xem lệnh dig có khả dụng trên loại hệ thống của bạn không:

dig -v

Đầu ra sẽ trông giống như thế này:

DiG 9.11.3-1ubuntu1.1-Ubuntu

Nếu dig không có trên hệ thống của bạn, lệnh trên sẽ in ra lệnh dig dig: lệnh không tìm thấy. Bạn có thể dễ dàng cài đặt công cụ dig bằng trình quản lý gói của bản phân phối.

Cài đặt dig trên Ubuntu và Debian

sudo apt update && sudo apt install dnsutils

Cài đặt dig trên CentOS và Fedora

sudo yum install bind-utils

Cài đặt dig trên Arch Linux

sudo pacman -S bind-tools

Hiểu đầu ra Dig

Ở dạng đơn giản nhất, khi được sử dụng để truy vấn một máy chủ (tên miền) mà không có bất kỳ đối số bổ sung nào, lệnh đào khá dài dòng.

Trong ví dụ sau, chúng tôi sẽ thực hiện một truy vấn để lấy thông tin về tên miền linux.org .

dig linux.org

Đầu ra sẽ trông giống như thế này:

Chúng ta hãy đi từng phần và giải thích đầu ra của lệnh dig :

  1. Dòng đầu tiên của đầu ra in phiên bản đào đã cài đặt và truy vấn được gọi. Dòng thứ hai hiển thị các tùy chọn toàn cầu (theo mặc định, chỉ cmd).

    ; <<>> DiG 9.13.3 <<>> linux.org;; global options: +cmd

    Phần đầu tiên bao gồm các chi tiết kỹ thuật về câu trả lời nhận được từ cơ quan được yêu cầu (máy chủ DNS). Tiêu đề hiển thị opcode (hành động được thực hiện bởi đào) và trạng thái của hành động. Trong ví dụ này, trạng thái là NOERROR , có nghĩa là cơ quan được yêu cầu phục vụ truy vấn mà không có bất kỳ vấn đề nào.

    ;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5

    Phần này có thể được loại bỏ bằng cách sử dụng tùy chọn +nocomments , cũng vô hiệu hóa một số tiêu đề của phần khác.

    Phần giả của OPT OPT Phần cứng được hiển thị theo mặc định chỉ trong các phiên bản mới hơn của tiện ích đào. Bạn có thể về các cơ chế mở rộng cho DNS (EDNS) tại đây.

    ;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096

    Trong phần dig CÂU HỎI THẾ GIỚI Theo mặc định, dig yêu cầu bản ghi A.

    ;; QUESTION SECTION:;linux.org. IN A

    Bạn có thể vô hiệu hóa phần này bằng tùy chọn +noquestion .

    Phần TRẢ LỜI của ANSWER cung cấp cho chúng tôi câu trả lời cho câu hỏi của chúng tôi. Như chúng tôi đã đề cập, theo mặc định, dig sẽ yêu cầu bản ghi A. Ở đây, tên miền linux.org trỏ đến địa chỉ IP 104.18.59.123 .

    ;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123

    Thông thường, bạn không muốn tắt câu trả lời, nhưng bạn có thể xóa phần này khỏi đầu ra bằng tùy chọn +noanswer .

    Phần AUTHORITY của Phần cứng cho chúng tôi biết máy chủ nào là cơ quan để trả lời các truy vấn DNS về tên miền được truy vấn.

    ;; AUTHORITY SECTION: linux.org. 86379 IN NS lia.ns.cloudflare.com. linux.org. 86379 IN NS mark.ns.cloudflare.com.

    Bạn có thể vô hiệu hóa phần này của đầu ra bằng tùy chọn +noauthority .

    Phần BỔ SUNG GIAO DỊCH NỔI BẬT cung cấp cho chúng tôi thông tin về các địa chỉ IP của các máy chủ DNS có thẩm quyền được hiển thị trong phần quyền hạn.

    ;; ADDITIONAL SECTION: lia.ns.cloudflare.com. 84354 IN A 173.245.58.185 lia.ns.cloudflare.com. 170762 IN AAAA 2400:cb00:2049:1::adf5:3ab9 mark.ns.cloudflare.com. 170734 IN A 173.245.59.130 mark.ns.cloudflare.com. 170734 IN AAAA 2400:cb00:2049:1::adf5:3b82

    Tùy chọn +noadditional vô hiệu hóa phần bổ sung của câu trả lời.

    Phần cuối cùng của đầu ra đào bao gồm số liệu thống kê về truy vấn.

    ;; Query time: 58 msec;; SERVER: 192.168.1.1#53(192.168.1.1);; WHEN: Fri Oct 12 11:46:46 CEST 2018;; MSG SIZE rcvd: 212

    Bạn có thể vô hiệu hóa phần này với tùy chọn +nostats .

Chỉ in câu trả lời

Trong hầu hết các trường hợp, bạn chỉ muốn nhận được câu trả lời nhanh cho truy vấn đào của mình.

1. Trả lời ngắn gọn

Để nhận được câu trả lời ngắn cho truy vấn của bạn, hãy sử dụng tùy chọn +short :

dig linux.org +short

104.18.59.123 104.18.58.123

Đầu ra sẽ chỉ bao gồm các địa chỉ IP của bản ghi A.

2. Nhận câu trả lời chi tiết

Để biết thêm câu trả lời chi tiết, hãy tắt tất cả các kết quả bằng cách sử dụng tùy chọn +noall và sau đó chỉ bật phần trả lời với tùy chọn +answer .

dig linux.org +noall +answer

; <<>> DiG 9.13.3 <<>> linux.org +noall +answer;; global options: +cmd linux.org. 67 IN A 104.18.58.123 linux.org. 67 IN A 104.18.59.123

Truy vấn tên máy chủ cụ thể

Theo mặc định, nếu không có máy chủ tên nào được chỉ định, dig sử dụng các máy chủ được liệt kê trong tệp /etc/resolv.conf .

Để chỉ định máy chủ tên mà truy vấn sẽ được thực hiện, sử dụng biểu tượng @ (at) theo sau là địa chỉ IP của máy chủ tên hoặc tên máy chủ.

Ví dụ: để truy vấn máy chủ tên Google (8.8.8.8) để biết thông tin về tên miền linux.org bạn sẽ sử dụng:

dig linux.org @8.8.8.8

; <<>> DiG 9.13.3 <<>> linux.org @8.8.8.8;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39110;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;linux.org. IN A;; ANSWER SECTION: linux.org. 299 IN A 104.18.58.123 linux.org. 299 IN A 104.18.59.123;; Query time: 54 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Fri Oct 12 14:28:01 CEST 2018;; MSG SIZE rcvd: 70

Truy vấn loại bản ghi

Dig cho phép bạn thực hiện bất kỳ truy vấn DNS hợp lệ nào bằng cách nối thêm loại bản ghi vào cuối truy vấn. Trong phần sau, chúng tôi sẽ cho bạn thấy các ví dụ về cách tìm kiếm các bản ghi phổ biến nhất, chẳng hạn như A (địa chỉ IP), CNAME (tên chính tắc), TXT (bản ghi văn bản), MX (trao đổi thư) và NS (tên máy chủ).

1. Truy vấn hồ sơ A

Để có danh sách tất cả (các) địa chỉ cho một tên miền, hãy sử dụng tùy chọn:

dig +nocmd google.com a +noall +answer

google.com. 128 IN A 216.58.206.206

Như bạn đã biết, nếu không có loại bản ghi DNS nào được chỉ định, đào sẽ yêu cầu bản ghi A. Bạn cũng có thể truy vấn bản ghi A mà không chỉ định tùy chọn.

2. Truy vấn hồ sơ CNAME

Để tìm tên miền bí danh, sử dụng tùy chọn cname :

dig +nocmd mail.google.com cname +noall +answer

mail.google.com. 553482 IN CNAME googlemail.l.google.com.

3. Truy vấn hồ sơ TXT

Sử dụng tùy chọn txt để truy xuất tất cả các bản ghi TXT cho một tên miền cụ thể:

dig +nocmd google.com txt +noall +answer

google.com. 300 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 300 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"

4. Truy vấn bản ghi MX

Để có danh sách tất cả các máy chủ thư cho một tên miền cụ thể, hãy sử dụng tùy chọn mx :

dig +nocmd google.com mx +noall +answer

google.com. 494 IN MX 30 alt2.aspmx.l.google.com. google.com. 494 IN MX 10 aspmx.l.google.com. google.com. 494 IN MX 40 alt3.aspmx.l.google.com. google.com. 494 IN MX 50 alt4.aspmx.l.google.com. google.com. 494 IN MX 20 alt1.aspmx.l.google.com.

5. Truy vấn hồ sơ NS

Để tìm các máy chủ tên có thẩm quyền cho tên miền cụ thể của chúng tôi, hãy sử dụng tùy chọn ns :

dig +nocmd google.com ns +noall +answer

google.com. 84527 IN NS ns1.google.com. google.com. 84527 IN NS ns2.google.com. google.com. 84527 IN NS ns4.google.com. google.com. 84527 IN NS ns3.google.com.

6. Truy vấn tất cả các bản ghi

Sử dụng any tùy chọn any để có danh sách tất cả các bản ghi DNS cho một tên miền cụ thể:

dig +nocmd google.com any +noall +answer

google.com. 299 IN A 216.58.212.14 google.com. 299 IN AAAA 2a00:1450:4017:804::200e google.com. 21599 IN NS ns2.google.com. google.com. 21599 IN NS ns1.google.com. google.com. 599 IN MX 30 alt2.aspmx.l.google.com. google.com. 21599 IN NS ns4.google.com. google.com. 599 IN MX 50 alt4.aspmx.l.google.com. google.com. 599 IN MX 20 alt1.aspmx.l.google.com. google.com. 299 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e" google.com. 21599 IN CAA 0 issue "pki.goog" google.com. 599 IN MX 40 alt3.aspmx.l.google.com. google.com. 3599 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 21599 IN NS ns3.google.com. google.com. 599 IN MX 10 aspmx.l.google.com. google.com. 3599 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 59 IN SOA ns1.google.com. dns-admin.google.com. 216967258 900 900 1800 60

Tra cứu DNS ngược

Để truy vấn tên máy chủ được liên kết với một địa chỉ IP cụ thể, hãy sử dụng tùy chọn -x .

Ví dụ: để thực hiện tra cứu ngược lại trên 208.118.235.148 bạn sẽ sử dụng:

dig -x 208.118.235.148 +noall +answer

Như bạn có thể thấy từ đầu ra bên dưới địa chỉ IP 208.118.235.148 được liên kết với tên máy chủ wildebeest.gnu.org .

; <<>> DiG 9.13.3 <<>> -x 208.118.235.148 +noall +answer;; global options: +cmd 148.235.118.208.in-addr.arpa. 245 IN PTR wildebeest.gnu.org.

Truy vấn số lượng lớn

Trong ví dụ sau, chúng tôi đang truy vấn các miền được liệt kê trong tệp domains.txt .

domain.txt

lxer.com linuxtoday.com tuxmachines.org

dig -f domains.txt +short

108.166.170.171 70.42.23.121 204.68.122.43

Tệp.digrc

Hành vi của lệnh đào có thể được kiểm soát bằng cách thiết lập các tùy chọn cho mỗi người dùng trong tệp ${HOME}/.digrc .

Nếu tệp .digrc có trong thư mục chính của người dùng, các tùy chọn được chỉ định trong tệp đó được áp dụng trước các đối số dòng lệnh.

Ví dụ: nếu bạn chỉ muốn hiển thị phần trả lời, hãy mở trình soạn thảo văn bản của bạn và tạo tệp ~/.digrc sau:

~ /.digrc

+nocmd +noall +answer

Phần kết luận

dig là một công cụ dòng lệnh để truy vấn thông tin DNS và khắc phục các sự cố liên quan đến DNS.

thiết bị đầu cuối đào