9 корисних прикладів команд хосту для запиту деталей DNS

Інструмент командного рядка HOST для запитів DNS

Команда HOST є простим інструментом, що використовується в командному рядку для отримання інформації про DNS.

У сфері кібербезпеки, зокрема при етичному хакінгу, аналіз DNS є початковим кроком для збору даних про ціль. Цей процес передбачає запит різноманітних DNS-записів із сервера доменних імен, включаючи відомості про сервери імен, IP-адреси, поштові обмінники, час життя (TTL) і так далі.

Зловмисники можуть скористатися цією інформацією, отриманою через аналіз DNS, для дослідження внутрішньої мережевої структури.

В інтернеті існує безліч інструментів для аналізу DNS, як онлайн, так і у вигляді програм. Однак, базовий аналіз DNS може бути легко здійснений за допомогою лише однієї команди – “HOST”.

В даній статті ми розглянемо кілька практичних прикладів використання команди host для отримання різноманітних DNS-відомостей.

Почнемо!

Встановлення

Команда “HOST” іноді може бути відсутня в стандартній комплектації щойно встановленої операційної системи. Тому, можливо, буде потрібно встановити її вручну. Процес встановлення є досить нескладним.

Усі команди, пов’язані з DNS, такі як nslookup, dig та host, входять до складу бібліотеки bind-utils. Для встановлення, введіть наступну команду в терміналі.

sudo apt-get install dnsutils -y

Ця команда HOST працює як на macOS, так і на Linux.

Використання

Загальний синтаксис: команда “host” без додаткових аргументів виводить на екран загальний синтаксис команди та її можливі параметри, разом з коротким описом кожного з них.

Приклад виведення:

┌──(techukraine.net㉿kali)-[~]
└─$ host          
Usage: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time]
            [-R number] [-m flag] [-p port] hostname [server]
       -a is equivalent to -v -t ANY
       -A is like -a but omits RRSIG, NSEC, NSEC3
       -c specifies query class for non-IN data
       -C compares SOA records on authoritative nameservers
       -d is equivalent to -v
       -l lists all hosts in a domain, using AXFR
       -m set memory debugging flag (trace|record|usage)
       -N changes the number of dots allowed before root lookup is done
       -p specifies the port on the server to query
       -r disables recursive processing
       -R specifies number of retries for UDP packets
       -s a SERVFAIL response should stop query
       -t specifies the query type
       -T enables TCP/IP mode
       -U enables UDP mode
       -v enables verbose output
       -V print version number and exit
       -w specifies to wait forever for a reply
       -W specifies how long to wait for a reply
       -4 use IPv4 query transport only
       -6 use IPv6 query transport only

Пошук IP-адреси домену

Щоб знайти IP-адресу певного домену, введіть ім’я цільового домену як аргумент після команди host.

host Цільовий-домен

Приклад виведення:

┌──(techukraine.net㉿kali)-[~]
└─$ host techukraine.net.com
techukraine.net.com has address 104.27.118.115
techukraine.net.com has address 104.27.119.115
techukraine.net.com has IPv6 address 2606:4700:20::681b:7673
techukraine.net.com has IPv6 address 2606:4700:20::681b:7773
techukraine.net.com mail is handled by 1 aspmx.l.google.com.
techukraine.net.com mail is handled by 5 alt1.aspmx.l.google.com.
techukraine.net.com mail is handled by 5 alt2.aspmx.l.google.com.
techukraine.net.com mail is handled by 10 alt3.aspmx.l.google.com.
techukraine.net.com mail is handled by 10 alt4.aspmx.l.google.com.

Для детального пошуку з розширеним виведенням використовуйте опцію -a або -v.

Приклад виведення:

┌──(techukraine.net㉿kali)-[~]
└─$ host -a techukraine.net.com 
Trying "techukraine.net.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24690
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;techukraine.net.com.                 IN      ANY

;; ANSWER SECTION:
techukraine.net.com.          3789    IN      HINFO   "RFC8482" ""
techukraine.net.com.          3789    IN      RRSIG   HINFO 13 2 3789 20220307065004 20220305045004 34505 techukraine.net.com. HW0Lfr5HazPMaACSBHmFqs94usKUljX+kONW/8Q2jwQ1QoAO9DEMjwDX rIQKODGtGnEizj2SzBF98mC2uQr7hQ==

Received 161 bytes from 192.168.1.1#53 in 64 ms

Параметр (-a) призначений для отримання всіх записів домену та інформації про зону. Також відображається IP-адреса локального DNS-сервера, який використовується для пошуку.

Зворотний пошук DNS

Ця команда виконує зворотний пошук IP-адреси, виводячи ім’я хоста або доменне ім’я, яке їй відповідає.

Наприклад, синтаксис команди буде виглядати так:

host цільова-ip-адреса

Приклад виведення:

┌──(techukraine.net㉿kali)-[~]
└─$ host dnsleaktest.com                                                                                  
dnsleaktest.com has address 23.239.16.110
                                                                                                              
┌──(techukraine.net㉿kali)-[~]
└─$ host 23.239.16.110  
110.16.239.23.in-addr.arpa domain name pointer li685-110.members.linode.com.

Якщо ви скопіюєте та вставите адресу вказівника (li685-110.members.linode.com.) у браузер, вас буде перенаправлено на відповідний веб-сайт.

Пошук серверів доменних імен

Використовуйте параметр -t для отримання списку серверів імен домену. Він визначає тип DNS-запису, який потрібно запитати.

В даному випадку ми використовуємо аргумент -t, щоб отримати список серверів імен конкретного доменного імені.

Запис NS визначає авторитетні сервери імен.

host -t ns цільовий-домен

Приклад виведення:

┌──(techukraine.net㉿kali)-[~]
└─$ host -t ns techukraine.net.com
techukraine.net.com name server olga.ns.cloudflare.com.
techukraine.net.com name server todd.ns.cloudflare.com.

Запит до певного сервера імен домену

Щоб отримати інформацію з конкретного авторитетного сервера імен, використовуйте наступну команду.

host цільовий-домен [сервер-імен]

Приклад виведення:

┌──(root💀kali)-[/home/geekflare]
└─# host techukraine.net.com  olga.ns.cloudflare.com.                                                           1 ⨯
Using domain server:
Name: olga.ns.cloudflare.com.
Address: 173.245.58.137#53
Aliases: 

techukraine.net.com has address 104.27.118.115
techukraine.net.com has address 104.27.119.115
techukraine.net.com has IPv6 address 2606:4700:20::681b:7773
techukraine.net.com has IPv6 address 2606:4700:20::681b:7673
techukraine.net.com mail is handled by 1 aspmx.l.google.com.
techukraine.net.com mail is handled by 5 alt1.aspmx.l.google.com.
techukraine.net.com mail is handled by 5 alt2.aspmx.l.google.com.
techukraine.net.com mail is handled by 10 alt3.aspmx.l.google.com.
techukraine.net.com mail is handled by 10 alt4.aspmx.l.google.com.

Пошук MX-записів домену

Для отримання списку MX-записів (поштових обмінників) домену, скористайтесь наступною командою.

host -t MX цільовий-домен

Приклад виведення:

┌──(techukraine.net㉿kali)-[~]
└─$ host -t mx  techukraine.net.com
techukraine.net.com mail is handled by 1 aspmx.l.google.com.
techukraine.net.com mail is handled by 5 alt1.aspmx.l.google.com.
techukraine.net.com mail is handled by 5 alt2.aspmx.l.google.com.
techukraine.net.com mail is handled by 10 alt3.aspmx.l.google.com.
techukraine.net.com mail is handled by 10 alt4.aspmx.l.google.com.

Цей MX-запис відповідає за маршрутизацію електронної пошти до поштових серверів.

Пошук TXT-записів домену

Щоб переглянути список TXT-записів домену (інформація про домен, що є зрозумілою для людини), скористайтесь командою нижче.

host -t txt цільовий-домен

Приклад виведення:

┌──(techukraine.net㉿kali)-[~]
└─$ host -t txt techukraine.net.com
techukraine.net.com descriptive text "google-site-verification=MRSwa454qay1S6pwwixzoiZl08kfJfkhiQIslhok3-A"
techukraine.net.com descriptive text "google-site-verification=7QXbgb492Y5NVyWzSAgAScfUV3XIAGTKKZfdpCvcaGM"
techukraine.net.com descriptive text "yandex-verification: 42f25bad396e79f5"
techukraine.net.com descriptive text "v=spf1 include:_spf.google.com include:mailgun.org include:zcsend.net ~all"
techukraine.net.com descriptive text "ahrefs-site-verification_8eefbd2fe43a8728b6fd14a393e2aff77b671e41615d2c1c6fc365ec33a4d6d0"
techukraine.net.com descriptive text "ca3-7fbfaa573ba248ddb17a618e5b46ca01"

Пошук SOA-запису домену

Для отримання списку SOA-запису домену (початок зони авторитетності), скористайтесь командою:

host -t soa цільовий-домен

Приклад виведення:

┌──(techukraine.net㉿kali)-[~]
└─$ host -t soa techukraine.net.com
techukraine.net.com has SOA record olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600

Використовуйте наступну команду для порівняння SOA-записів з усіх авторитетних серверів імен для певної зони (частини простору імен DNS).

host -C цільовий-домен

Приклад виведення:

┌──(techukraine.net㉿kali)-[~]
└─$ host -C techukraine.net.com                                                                                 2 ⨯
Nameserver 173.245.58.137:
        techukraine.net.com has SOA record olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600

Пошук CNAME-записів домену

CNAME – це канонічний запис імені. Цей DNS-запис відповідає за перенаправлення одного домену на інший, тобто він зіставляє оригінальне доменне ім’я з псевдонімом.

Щоб дізнатися про CNAME-записи домену, скористайтеся командою нижче.

host -t cname цільовий-домен

Приклад виведення:

┌──(techukraine.net㉿kali)-[~]
└─$ host -t cname  techukraine.net.com
techukraine.net.com has no CNAME record

Якщо для цільового доменного імені існують CNAME-записи, вони будуть відображені після виконання команди.

Пошук інформації про TTL домену

TTL означає “час життя”. Це параметр, який зберігається на сервері доменних імен і встановлюється авторитетним сервером імен для кожного DNS-запису.

Простіше кажучи, TTL показує, як довго DNS-сервер зберігає запис у кеші до того, як запитувати оновлення даних. Скористайтесь наведеною командою для отримання інформації про TTL доменного імені.

host -v -t a цільовий-домен

Приклад виведення:

┌──(root💀kali)-[/home/geekflare]
└─# host -v -t a techukraine.net.com                                                                            1 ⨯
Trying "techukraine.net.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2479
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;techukraine.net.com.                 IN      A

;; ANSWER SECTION:
techukraine.net.com.          30      IN      A       104.27.119.115
techukraine.net.com.          30      IN      A       104.27.118.115

Received 63 bytes from 192.168.1.1#53 in 60 ms

Висновок

Сподіваємось, ця стаття допомогла вам ознайомитись з деякими корисними прикладами використання команди host для запитів DNS.

Можливо, вам також буде цікаво дізнатися про безкоштовні онлайн-інструменти для перевірки DNS-записів доменних імен.