Мережева утіліта nslookup

nslookup — це мережева утиліта, яка використовується для отримання інформації про DNS-записи (Domain Name System) доменних імен. Вона дозволяє відправляти запити до DNS-серверів і отримувати відповіді, що можуть включати IP-адреси, записи MX (Mail Exchange), записи CNAME (Canonical Name) та інші типи DNS-записів. Це зручний інструмент для перевірки та налагодження DNS-налаштувань.

Основні функції nslookup:

  1. Отримання IP-адреси по доменному імені:

    nslookup example.com
    

    Ця команда поверне IP-адресу сервера, що відповідає домену example.com.

  2. Отримання DNS-записів для конкретного типу:

    nslookup -query=mx example.com
    

    Ця команда поверне MX-записи для домену example.com, які вказують на поштові сервери, що обслуговують цей домен.

  3. Використання конкретного DNS-сервера для запиту:

    nslookup example.com 8.8.8.8
    

    Тут замість стандартного DNS-сервера використовується сервер Google DNS (8.8.8.8).

  4. Перехід у інтерактивний режим:
    Якщо просто ввести команду nslookup без параметрів, можна перейти в інтерактивний режим, де можна виконувати кілька запитів підряд:

    nslookup
    

    У цьому режимі можна змінювати сервери, типи запитів, і виконувати їх один за одним, поки не вийти з програми командою exit.

Приклад використання:

Припустимо, ви хочете дізнатися IP-адресу для домену example.com:

nslookup example.com

Відповідь може виглядати так:

Server:  dns.google
Address:  8.8.8.8

Non-authoritative answer:
Name:    example.com
Address: 93.184.216.34

Ця відповідь вказує, що DNS-сервер (в даному випадку Google DNS) надав IP-адресу 93.184.216.34 для домену example.com.

nslookup є дуже корисним інструментом для системних адміністраторів, мережевих інженерів та всіх, хто працює з DNS-записами або налагодженням мережевих проблем.

Інші параметри

nslookup підтримує кілька додаткових параметрів, які дозволяють налаштовувати поведінку утиліти та отримувати більш детальну інформацію. Ось основні з них:

  • <hostname> <server>: Виконати запит на зазначений DNS-сервер для доменного імені <hostname>.

    • Приклад: nslookup example.com 8.8.8.8 (використовує DNS-сервер Google для отримання IP-адреси домену example.com).
  • -type=<record_type>: Вказує тип DNS-запису, який слід запитати. Можливі значення:

    • A — запис про IPv4-адресу.
    • AAAA — запис про IPv6-адресу.
    • MX — поштовий обмінник (Mail Exchange).
    • NS — сервер імен (Name Server).
    • CNAME — канонічне ім’я (Canonical Name).
    • TXT — текстовий запис.
    • PTR — покажчик на доменне ім’я (Pointer Record).
    • Приклад: nslookup -type=MX example.com.
  • -class=<class>: Вказує клас DNS-запису. Найбільш часто використовується IN (Internet). Інші класи використовуються рідко, наприклад, CH (CHAOS).

    • Приклад: nslookup -class=IN example.com.
  • -debug: Вмикає детальний відладочний вивід для аналізу запитів і відповідей DNS.

    • Приклад: nslookup -debug example.com.
  • -timeout=<seconds>: Вказує час очікування відповіді від DNS-сервера.

    • Приклад: nslookup -timeout=10 example.com.
  • -port=<port>: Вказує порт для з’єднання з DNS-сервером (за замовчуванням використовується порт 53).

    • Приклад: nslookup -port=53 example.com.
  • -retries=<number>: Вказує кількість повторних спроб у разі відсутності відповіді від DNS-сервера.

    • Приклад: nslookup -retries=3 example.com.
  • -vc: Використовує TCP-з’єднання замість UDP для запитів (UDP використовується за замовчуванням).

    • Приклад: nslookup -vc example.com.
  • -norecurse: Відключає рекурсивний пошук (використовується, коли DNS-сервер повинен повертати тільки ті дані, які він має у своєму кеші, без запитів до інших серверів).

    • Приклад: nslookup -norecurse example.com.
  • -search: Додає суфікс домену з параметра search в налаштуваннях системи, якщо безпосередній запит не дає результату.

    • Приклад: nslookup -search example.
  • -domain=<domain>: Встановлює суфікс домену для запиту.

    • Приклад: nslookup -domain=example.com www.
  • -ignore: Ігнорує будь-які повідомлення про помилки від DNS-сервера.

    • Приклад: nslookup -ignore example.com.

Якщо ви запускаєте nslookup без аргументів, ви входите в інтерактивний режим. У цьому режимі можна використовувати деякі спеціальні команди:

  • set all: Виводить поточні налаштування nslookup.
  • set type=<record_type>: Встановлює тип запису за замовчуванням для наступних запитів.
  • set class=<class>: Встановлює клас запису за замовчуванням.
  • set timeout=<seconds>: Встановлює час очікування за замовчуванням.
  • set retry=<number>: Встановлює кількість спроб за замовчуванням.
  • server <DNS_server>: Встановлює новий DNS-сервер для наступних запитів.
  • exit: Вихід з інтерактивного режиму.

Приклади використання

  1. Отримання MX-записів для домену example.com:

    nslookup -type=mx example.com
    
  2. Використання конкретного DNS-сервера та відладочного режиму:

    nslookup -debug example.com 1.1.1.1
    
  3. Використання TCP замість UDP для запиту:

    nslookup -vc example.com
    

Ці параметри роблять nslookup гнучким інструментом для різноманітних завдань, пов’язаних з DNS.