DNS диагностика с командата host

Помощен център

DNS диагностика с командата host

host е основна и лесна за използване програма от команден ред за изпращане на запитвания за DNS записи на домейни и получаване на отговори от съответните неймсървъри.

Обикновено се използва за преобразуване на домейн име в IP адрес и обратно. Когато няма въведени опция или домейн, host показва списък с опции:

network dns host

Както при много Linux команди и host има много опции, но повечето от тях няма да са необходими за това, което желаете да направите.

В тази статия ще ви покажем как да използвате командата host за откриване на различни типове DNS записи на домейн с помощта на някои опции на командата в Linux терминал.

По подразбиране командата host търси само записи A, AAAA и MX:

$ host linux.org
linux.org has address 104.28.17.26
linux.org has address 104.28.16.26
linux.org has IPv6 address 2400:cb00:2048:1::681c:111a
linux.org has IPv6 address 2400:cb00:2048:1::681c:101a
linux.org mail is handled by 1 kp2.kennedyprojects.com.

Как може да изберете/променяте типа на търсения DNS запис?

Въведете опцията -t и след нея идентификатор на DNS записа mx (a, aaaa, ns, cname …) за да определите типа (MX) на заявката:

$ host -t mx linux.org

А (IPv4) запис

A записa (address, a) свързва хост име с IPv4 адрес.

$ host -t a linux.org
linux.org has address 104.28.16.26
linux.org has address 104.28.17.26

АААА (IPv6) запис

AAAA записa (address, aaaa) свързва хост име с 128-битов IPv6 адрес.

$ host -t aaaa linux.org
linux.org has IPv6 address 2400:cb00:2048:1::681c:111a
linux.org has IPv6 address 2400:cb00:2048:1::681c:101a

MX запис

MX записa (mail exchange, mx) свързва домейн име с мейл сървър/и за управление пощите към този домейн.

$ host -t mx google.com
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.

NS запис

NS запис (name server, ns) свързва домейн име с авторитетни неймсървъри, съдържащи зоновия файл на домейнa.

$ host -t ns google.com
google.com name server ns2.google.com.
google.com name server ns1.google.com.
google.com name server ns3.google.com.
google.com name server ns4.google.com.

CNAME запис

CNAME запис (canonical name, cname) на поддомейн означава, че едно домейн име е псевдоним на друго.

$ host -t cname mail.google.com
mail.google.com is an alias for googlemail.l.google.com.

TXT запис

TXT записа (text, txt) позволява на администратора да вмъкне произволен текст в записa. Домейна може да има много TXT записи. Най-често използваните TXT записи са Sender Policy Framework (SPF), DomainKeys (DK), DomainKeys Identified E-mail (DKIM) и Service (SRV).

$ host -t txt google.com
google.com descriptive text "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
google.com descriptive text "v=spf1 include:_spf.google.com ~all"

CAA запис

CAA записа (certification authority authorization, caa) посочва кои сертифициращи органи (CA) имат право да издават SSL сертификати за домейна.

$ host -t caa yahoo.com
yahoo.com has CAA record 0 issue "symantec.com"
yahoo.com has CAA record 0 issue "digicert.com"
yahoo.com has CAA record 0 iodef "mailto:security@yahoo.com"

PTR (reverse) запис

PTR записа (pointer, ptr) свързва IPv4 адрес с каноничното име за този хост.

$ host 149.20.4.15
15.4.20.149.in-addr.arpa domain name pointer mirror-isc3.debian.org.

WILDCARD запис

WILDCARD записa отговаря на заявки към несъществуващи поддомейни.

$ host *.redhat.com
*.redhat.com mail is handled by 20 mx2.redhat.com.
*.redhat.com mail is handled by 10 mx1.redhat.com.

SOA запис

Записът SOA (start of authority, soa) съдържа информация за главния (master) неймсървър, имейл адреса на администратора на домейна, серийния номер на домейна и няколко времеви настройки, свързани с кеширане на записите в DNS зоната.

$ host -t soa debian.org
debian.org has SOA record denis.debian.org. hostmaster.debian.org. 2018013109 1800 600 1814400 600

Запитване на произволен неймсървър с командата host

За да изпратите запитването към произволен неймсървър добавете в командата хост името или IP адреса на неймсървъра след домейн името.

$ host -t txt google.com ns1.google.com
Using domain server:
Name: ns1.google.com
Address: 216.239.32.10#53
Aliases: 
google.com descriptive text "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
google.com descriptive text "v=spf1 include:_spf.google.com ~all"

$ host -t txt google.com 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases: 
google.com descriptive text "v=spf1 include:_spf.google.com ~all"
google.com descriptive text "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"

Рекурсивно запитване с командата host

Ако желаете да получите подробен отговор на запитването (наподобява синтаксиса на командата dig) трябва да използвате опция -d:

$ host -d google.com
Trying "google.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60419
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             150     IN      A       216.58.212.46

Received 44 bytes from 127.0.1.1#53 in 39 ms
Trying "google.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48539
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.                    IN      AAAA

;; ANSWER SECTION:
google.com.             80      IN      AAAA    2a00:1450:4017:805::200e

Received 56 bytes from 127.0.1.1#53 in 22 ms
Trying "google.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52594
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.                    IN      MX

;; ANSWER SECTION:
google.com.             600     IN      MX      10 aspmx.l.google.com.
google.com.             600     IN      MX      40 alt3.aspmx.l.google.com.
google.com.             600     IN      MX      20 alt1.aspmx.l.google.com.
google.com.             600     IN      MX      30 alt2.aspmx.l.google.com.
google.com.             600     IN      MX      50 alt4.aspmx.l.google.com.

Received 136 bytes from 127.0.1.1#53 in 78 ms

Заключение

Потребители с други операционни системи може да използват безплатен Linux онлайн терминал на адрес: https://linuxcontainers.org/lxd/try-it/.

Приложението работи на сесии по 30 минути, след което може да се логнете веднага. Не се изисква регистрация. Малък недостатък е, че ползва само собствен DNS сървър и не може да изпращате запитвания към неймсървъри:

network dns host

network dns host