Введение
В обширном и взаимосвязанном мире интернета Система доменных имен (DNS) играет ключевую роль в преобразовании читаемых человеком доменных имен (например, www.example.com
) в понятные для машин IP-адреса (такие как 192.0.2.1
). Это преобразование необходимо для маршрутизации трафика по сетям и обеспечения того, чтобы пользователи могли беспрепятственно получать доступ к веб-сайтам, сервисам и ресурсам.
Когда возникают проблемы с разрешением DNS, сетевые администраторы и IT-специалисты нуждаются в надежных инструментах для диагностики и устранения неполадок. Одним из таких незаменимых инструментов является команда nslookup
. Эта утилита позволяет пользователям запрашивать DNS-серверы для получения информации о доменных именах, IP-адресах и различных DNS-записях.
Что такое nslookup
?
Определение nslookup
nslookup
расшифровывается как Name Server Lookup. Это инструмент командной строки, используемый для запроса DNS (Системы доменных имен) серверов с целью получения информации о доменных именах, IP-адресах и других DNS-записях. Обеспечивая DNS-запросы, nslookup
помогает пользователям и администраторам диагностировать и решать проблемы, связанные с DNS.
Роль nslookup
в диагностике сети
DNS является основой функционирования интернета, и любое нарушение в работе DNS-сервисов может привести к проблемам с доступом к веб-сайтам и онлайн-сервисам. nslookup
служит диагностической утилитой, которая может:
- Проверять конфигурации DNS-серверов.
- Подтверждать существование и конфигурацию DNS-записей.
- Обнаруживать проблемы с распространением DNS.
- Помогать в устранении проблем с подключением, связанных с DNS.
Предоставляя подробную информацию о DNS-запросах и ответах, nslookup
позволяет пользователям эффективно выявлять и устранять проблемы с DNS.
Различия между nslookup
и другими инструментами DNS
Хотя nslookup
является мощным инструментом, он не единственный доступный инструмент DNS. Другие заметные инструменты включают:
dig
(Domain Information Groper): Предлагает более детализированные и гибкие параметры запроса по сравнению сnslookup
. Предпочитается многими сетевыми администраторами за его исчерпывающий вывод.host
: Более простая утилита для выполнения DNS-запросов, идеальная для быстрых запросов без обширного вывода.
По сравнению с этими инструментами, nslookup
часто считается более удобным для пользователей, которые только начинают работать с диагностикой сети. Однако для продвинутых запросов и сценариев инструменты, такие как dig
, могут быть более подходящими.
История и предыстория
Происхождение nslookup
Команда nslookup
появилась в ранние дни интернета как часть набора инструментов BIND (Berkeley Internet Name Domain). Разработанная для упрощения запросов DNS и устранения неполадок, nslookup
стала стандартной утилитой на различных операционных системах, включая UNIX, Linux и Windows.
Эволюция инструмента с течением времени
С течением времени nslookup
претерпела несколько улучшений, направленных на повышение ее функциональности и удобства использования. Хотя ее основное назначение остается запросом DNS, обновления добавили такие функции, как:
- Интерактивный режим для выполнения нескольких запросов в рамках одной сессии.
- Поддержка запросов различных типов DNS-записей.
- Улучшенная обработка ошибок и информативные сообщения.
Несмотря на появление альтернативных инструментов, таких как dig
, nslookup
продолжает широко использоваться благодаря своей простоте и доступности на различных платформах.
Текущий статус и поддержка на различных операционных системах
Сегодня nslookup
является универсальным инструментом, доступным на большинстве операционных систем, включая:
- Windows: Предустановлен как часть операционной системы.
- macOS: Включен в сетевые утилиты системы.
- Linux/UNIX: Доступен по умолчанию или через менеджеры пакетов как часть утилит DNS.
Его постоянное присутствие на платформах делает nslookup
основным инструментом для диагностики DNS в различных вычислительных средах.
Основной синтаксис
Понимание основного синтаксиса команды nslookup
имеет решающее значение для эффективного использования ее возможностей. Общая структура выглядит следующим образом:
nslookup [options] [hostname] [DNS server]
Объяснение компонентов команды
nslookup
: Сама команда.[options]
: Необязательные флаги, которые изменяют поведение команды.[hostname]
: Доменное имя или IP-адрес, который вы хотите запросить.[DNS server]
: (Необязательно) Указывает DNS-сервер, который следует использовать для запроса. Если опущено, используется системный DNS-сервер по умолчанию.
Примеры простых команд nslookup
-
Базовый запрос имени хоста:
nslookup www.example.com
Получает IP-адрес, связанный с
www.example.com
, используя DNS-сервер по умолчанию. -
Обратный IP-запрос:
nslookup 93.184.216.34
Находит имя хоста, связанное с IP-адресом
93.184.216.34
. -
Указание DNS-сервера:
nslookup www.example.com 8.8.8.8
Запрашивает DNS-сервер Google Public (
8.8.8.8
) для получения IP-адресаwww.example.com
.
Общие примеры использования
Команда nslookup
является универсальной, предлагая различные функции для получения различных типов информации о DNS. Ниже приведены некоторые распространенные случаи использования с примерами команд и объяснениями.
Запрос DNS-записей
DNS-записи хранят информацию о домене, такую как его IP-адреса, почтовые серверы и псевдонимы. nslookup
может извлекать различные типы DNS-записей, включая:
- A (Address) Record: Соответствует домену IPv4-адресу.
- AAAA (IPv6 Address) Record: Соответствует домену IPv6-адресу.
- MX (Mail Exchange) Record: Указывает почтовый сервер, ответственный за получение электронной почты для домена.
- CNAME (Canonical Name) Record: Псевдоним одного домена для другого.
Примеры команд:
-
Получить A-запись:
nslookup -type=A www.example.com
Извлекает IPv4-адрес для
www.example.com
. -
Получить MX-запись:
nslookup -type=MX example.com
Получает почтовые серверы для
example.com
. -
Получить CNAME-запись:
nslookup -type=CNAME blog.example.com
Находит каноническое имя (псевдоним) для
blog.example.com
.
Ожидаемый вывод:
Для запроса MX-записи:
example.com MX preference = 10, mail exchanger = mail.example.com
Это указывает на то, что mail.example.com
является почтовым сервером для example.com
с предпочтительным значением 10.
Обратные DNS-запросы
Обратные DNS-запросы включают запрос доменного имени на основе IP-адреса. Это полезно для проверки имени хоста, связанного с определенным IP, что может помочь в устранении неполадок и оценках безопасности.
Пример команды:
nslookup 93.184.216.34
Ожидаемый вывод:
34.216.184.93.in-addr.arpa name = www.example.com
Этот вывод показывает, что IP-адрес 93.184.216.34
разрешается в имя хоста www.example.com
.
Указание DNS-серверов
По умолчанию nslookup
использует настроенный в системе DNS-сервер для выполнения запросов. Однако пользователи могут указать альтернативный DNS-сервер для запросов, что может быть полезно для тестирования или устранения проблем с DNS-сервером.
Пример команды:
nslookup www.example.com 8.8.8.8
Объяснение:
Эта команда запрашивает DNS-сервер Google Public (8.8.8.8
) для получения IP-адреса www.example.com
, вместо использования системного DNS-сервера по умолчанию.
Пример вывода:
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Name: www.example.com
Address: 93.184.216.34
Расширенные функции
Помимо базовых запросов, nslookup
предлагает расширенные функции, которые повышают его полезность для комплексного анализа DNS и сценариев.
Интерактивный режим
Интерактивный режим позволяет пользователям вводить несколько команд в рамках одной сессии nslookup
, что упрощает более эффективные исследования DNS.
Вход в интерактивный режим:
Просто введите nslookup
без аргументов:
nslookup
Пример взаимодействия:
Default Server: resolver1.example.com
Address: 192.0.2.53
> set type=MX
> example.com
Server: resolver1.example.com
Address: 192.0.2.53
example.com MX preference = 10, mail exchanger = mail.example.com
> exit
Распространенные команды в интерактивном режиме:
set type=[record type]
: Указывает тип DNS-записи для запроса (например, A, MX, CNAME).server [DNS server]
: Изменяет DNS-сервер, используемый для запросов в рамках сессии.exit
: Выходит из интерактивного режима.
Установка типов запросов
nslookup
позволяет пользователям определять тип DNS-записей, которые они хотят запросить, обеспечивая гибкость в получаемой информации.
Синтаксис:
nslookup -type=[record type] [hostname]
Примеры команд:
-
Запрос AAAA-записи:
nslookup -type=AAAA www.example.com
Извлекает IPv6-адрес для
www.example.com
. -
Запрос TXT-записи:
nslookup -type=TXT example.com
Получает TXT-записи, связанные с
example.com
, часто используемые для проверки и обеспечения безопасности.
Использование nslookup
в сценариях
nslookup
можно интегрировать в сценарии для автоматизации DNS-запросов, что позволяет выполнять пакетную обработку и мониторинг DNS-записей.
Пример: Сценарий пакетного DNS-запроса (Bash)
#!/bin/bash
# Список доменов для запроса
domains=("example.com" "google.com" "nonexistentdomain.xyz")
# DNS-сервер для использования
dns_server="8.8.8.8"
# Цикл по каждому домену и выполнение запроса A-записи
for domain in "${domains[@]}"; do
echo "Запрос A-записи для $domain с использованием DNS-сервера $dns_server"
nslookup -type=A "$domain" "$dns_server"
echo "----------------------------------------"
done
Объяснение:
Этот сценарий проходит по списку доменов, выполняя запрос A-записи для каждого с использованием указанного DNS-сервера (8.8.8.8
). Вывод предоставляет IP-адреса, связанные с каждым доменом, что упрощает массовый анализ DNS.
Альтернативы nslookup
Хотя nslookup
является широко используемой утилитой DNS, существует несколько альтернативных инструментов, которые предлагают различные функции и преимущества. Понимание этих альтернатив может предоставить пользователям больше возможностей для запросов и диагностики DNS.
dig
Обзор команды dig
dig
(Domain Information Groper) — это гибкий и мощный инструмент для запросов DNS, часто используемый в средах UNIX и Linux. Он предоставляет подробную информацию о DNS-ответах, что делает его любимым среди сетевых администраторов для глубокого анализа DNS.
Сравнение между dig
и nslookup
- Детальность вывода:
dig
предлагает более подробный и структурированный вывод по сравнению сnslookup
, что полезно для продвинутого устранения неполадок. - Гибкость:
dig
позволяет более детально настраивать параметры запроса и поддерживает дополнительные опции для настройки DNS-запросов. - Сценарии:
dig
часто предпочитают для сценариев из-за его последовательного и удобного для разбора формата вывода.
Пример команды dig
:
dig www.example.com MX
Пример вывода:
; <<>> DiG 9.16.1-Ubuntu <<>> www.example.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;www.example.com. IN MX
;; ANSWER SECTION:
www.example.com. 3600 IN MX 10 mail.example.com.
www.example.com. 3600 IN MX 20 mail2.example.com.
host
Введение в команду host
Команда host
— это простая утилита для выполнения DNS-запросов. Она предназначена для предоставления простых и лаконичных результатов DNS-запросов, что делает ее идеальной для быстрых проверок и получения базовой информации о DNS.
Случаи использования, когда host
предпочтительнее
- Быстрые DNS-запросы: Когда пользователям нужно выполнить быстрый запрос без необходимости в детальной информации.
- Простота: Для пользователей, которые предпочитают минималистичный вывод без дополнительных деталей, предоставляемых такими инструментами, как
dig
. - Сценарии: Подходит для сценариев, где требуется только основная информация.
Пример команды host
:
host -t TXT example.com
Пример вывода:
example.com descriptive text "v=spf1 include:_spf.example.com ~all"
Другие инструменты
Помимо dig
и host
, существует несколько других инструментов DNS, которые могут дополнить или заменить nslookup
в зависимости от требований.
whois
whois
— это протокол и утилита командной строки, используемая для запроса баз данных, которые хранят зарегистрированных пользователей или владельцев интернет-ресурсов, таких как доменные имена и IP-адреса. Она предоставляет информацию о владении доменом, регистрационных данных и контактной информации.
Случай использования:
- Информация о регистрации домена: Чтобы узнать, кто владеет определенным доменом и его контактные данные.
Пример команды:
whois example.com
tcpdump
tcpdump
— это мощный анализатор сетевых пакетов, который захватывает и отображает сетевой трафик. Хотя это не исключительно инструмент DNS, его можно использовать для мониторинга DNS-запросов и ответов в реальном времени, что помогает в устранении неполадок в сети и анализе безопасности.
Случай использования:
- Мониторинг DNS-трафика: Для наблюдения за шаблонами DNS-запросов и обнаружения аномалий или вредоносной активности.
Пример команды:
tcpdump -i eth0 port 53
Wireshark
Wireshark
— это графический анализатор сетевых протоколов, который предоставляет подробную информацию о сетевом трафике, включая взаимодействия DNS. Он предлагает удобный интерфейс для захвата, фильтрации и анализа DNS-пакетов.
Случай использования:
- Подробный анализ DNS: Для глубокого изучения взаимодействий DNS и поведения протокола.
Часто задаваемые вопросы (FAQ)
Для чего используется команда nslookup
?
nslookup
— это инструмент администрирования сети, используемый для запроса Системы доменных имен (DNS) с целью получения информации о сопоставлении доменных имен или IP-адресов, а также других DNS-записей. Он помогает пользователям и администраторам устранять проблемы, связанные с DNS, предоставляя информацию о том, как разрешаются доменные имена.
На каких операционных системах доступен nslookup
?
nslookup
доступен на большинстве основных операционных систем, включая:
- Windows: Предустановлен как часть операционной системы.
- macOS: Включен в сетевые утилиты системы.
- Linux/UNIX: Доступен по умолчанию или через менеджеры пакетов как часть утилит DNS.
Его широкая доступность делает его универсальным инструментом для различных сред.
Как выполнить обратный DNS-запрос с помощью nslookup
?
Обратный DNS-запрос позволяет вам найти имя хоста, связанное с данным IP-адресом. Чтобы выполнить это с помощью nslookup
, просто введите IP-адрес в качестве запроса. Например:
nslookup 93.184.216.34
Пример вывода:
34.216.184.93.in-addr.arpa name = www.example.com
Этот вывод указывает на то, что IP-адрес 93.184.216.34
разрешается в имя хоста www.example.com
.
Как я могу указать другой DNS-сервер при использовании nslookup
?
По умолчанию nslookup
использует настроенный в системе DNS-сервер. Чтобы указать альтернативный DNS-сервер для вашего запроса, добавьте IP-адрес или имя хоста DNS-сервера в конце команды. Например:
nslookup www.example.com 8.8.8.8
Эта команда запрашивает DNS-сервер Google Public (8.8.8.8
) для получения IP-адреса www.example.com
.
Какие типы DNS-записей я могу запрашивать с помощью nslookup
?
nslookup
поддерживает запрос различных типов DNS-записей, включая:
- A (Address) Record: Соответствует домену IPv4-адресу.
- AAAA (IPv6 Address) Record: Соответствует домену IPv6-адресу.
- MX (Mail Exchange) Record: Указывает почтовый сервер, ответственный за получение электронной почты для домена.
- CNAME (Canonical Name) Record: Псевдоним одного домена для другого.
- TXT (Text) Record: Содержит произвольные текстовые данные, часто используемые для проверки и обеспечения безопасности.
- NS (Name Server) Record: Указывает авторитетные DNS-серверы для домена.
Чтобы запросить конкретный тип записи, используйте опцию -type
, за которой следует тип записи. Например:
nslookup -type=MX example.com
Как изменить тип запроса в nslookup
?
Изменение типа запроса позволяет вам извлекать конкретные DNS-записи. Используйте опцию -type
(или -query
), за которой следует желаемый тип записи. Например, чтобы запросить MX-записи для example.com
:
nslookup -type=MX example.com
Пример вывода:
example.com MX preference = 10, mail exchanger = mail.example.com
example.com MX preference = 20, mail exchanger = mail2.example.com
Этот вывод показывает почтовые серверы, связанные с example.com
, вместе с их предпочтительными значениями.
Могу ли я использовать nslookup
в сценариях для автоматизированных DNS-запросов?
Да, nslookup
можно интегрировать в сценарии для автоматизации DNS-запросов. Это полезно для пакетной обработки, мониторинга DNS-записей или выполнения регулярных проверок. Ниже приведен пример простого сценария Bash, который использует nslookup
для получения A-записей для списка доменов:
#!/bin/bash
# Список доменов для запроса
domains=("example.com" "google.com" "nonexistentdomain.xyz")
# DNS-сервер для использования
dns_server="8.8.8.8"
# Цикл по каждому домену и выполнение запроса A-записи
for domain in "${domains[@]}"; do
echo "Запрос A-записи для $domain с использованием DNS-сервера $dns_server"
nslookup -type=A "$domain" "$dns_server"
echo "----------------------------------------"
done
Объяснение:
Этот сценарий проходит по списку доменов, выполняя запрос A-записи для каждого с использованием указанного DNS-сервера (8.8.8.8
). Вывод предоставляет IP-адреса, связанные с каждым доменом, что упрощает массовый анализ DNS.
В чем разница между nslookup
и dig
?
Оба nslookup
и dig
являются инструментами для запросов DNS, но у них есть некоторые различия:
- Детальность вывода:
dig
предоставляет более подробный и структурированный вывод, что полезно для детального анализа DNS.nslookup
предлагает более лаконичный вывод, подходящий для базовых запросов. - Гибкость:
dig
позволяет более детально настраивать параметры запроса и поддерживает дополнительные опции для настройки DNS-запросов. - Сценарии:
dig
часто предпочитают для сценариев из-за его последовательного и удобного для разбора формата вывода. - Доступность:
nslookup
чаще доступен по умолчанию на различных операционных системах, в то время какdig
может потребовать отдельной установки на некоторых платформах.
Пример команды dig
:
dig www.example.com MX
Пример вывода dig
:
; <<>> DiG 9.16.1-Ubuntu <<>> www.example.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;www.example.com. IN MX
;; ANSWER SECTION:
www.example.com. 3600 IN MX 10 mail.example.com.
www.example.com. 3600 IN MX 20 mail2.example.com.
Как войти в интерактивный режим в nslookup
?
Интерактивный режим позволяет вам выполнять несколько DNS-запросов в рамках одной сессии nslookup
. Чтобы войти в интерактивный режим, просто введите nslookup
без аргументов и нажмите Enter:
nslookup
Пример взаимодействия:
Default Server: resolver1.example.com
Address: 192.0.2.53
> set type=MX
> example.com
Server: resolver1.example.com
Address: 192.0.2.53
example.com MX preference = 10, mail exchanger = mail.example.com
> exit
Распространенные команды в интерактивном режиме:
set type=[record type]
: Указывает тип DNS-записи для запроса (например, A, MX, CNAME).server [DNS server]
: Изменяет DNS-сервер, используемый для запросов в рамках сессии.exit
: Выходит из интерактивного режима.
Что делать, если nslookup
возвращает ошибку или не отвечает?
Если nslookup
возвращает ошибку или не получает ответа, рассмотрите следующие шаги по устранению неполадок:
- Проверьте подключение к интернету: Убедитесь, что ваше устройство подключено к интернету.
- Проверьте доступность DNS-сервера: DNS-сервер, который вы запрашиваете, может быть недоступен или недоступен. Попробуйте указать другой DNS-сервер.
- Подтвердите точность доменного имени: Убедитесь, что введенное вами доменное имя правильно и существует.
- Проверьте настройки брандмауэра: Брандмауэры или программное обеспечение безопасности могут блокировать DNS-запросы.
- Изучите сообщения об ошибках: Обратите внимание на конкретные сообщения об ошибках, возвращаемые
nslookup
(например, «Server failed», «NXDOMAIN»), чтобы определить проблему. - Используйте альтернативные инструменты: Попробуйте использовать другие инструменты DNS, такие как
dig
илиhost
, чтобы увидеть, дают ли они другие результаты.
Пример ошибки и решения:
nslookup nonexistentdomain.xyz
Возможный вывод:
** server can't find nonexistentdomain.xyz: NXDOMAIN
Решение:
Ошибка NXDOMAIN
указывает на то, что домен не существует. Проверьте доменное имя на наличие опечаток или проверьте, был ли домен недавно зарегистрирован.
Привет, мир! Рассказываем про 10 самых часто используемых команд nslookup.
Что такое nslookup?
Давайте для начала определимся, что такое nslookup. Это мощная сетевая утилита командной строки, доступная для большинства популярных ОС. Она используется для запросов в систему доменных имён (DNS) с целью выявления имен или IP-адресов, а также других специфических DNS записей.
1. Выявление A записи для домена
A запись домена – это сопоставление доменного имени IP-адресу ресурса. Именно благодаря этому типу записи, когда вы набираете merionet.ru переходите на страницу нашего сайта. Чтобы определить IP-адрес ресурса (это может быть компьютер в вашей сети или же любой сайт в Интернете) нужно ввести следующую команду:
nslookup merionet.ru
2. Определение NS-записей домена
Когда вы набираете в адресной строке браузера адрес сайта, то компьютер обращается к DNS серверу, указанному в настройках сетевого интерфейса. А тот в свою очередь к более NS серверам, где хранятся записи о том, какой IP-адрес соответствует данному доменному имени. Утилита nslookup позволяет определять, какие NS –сервера использует тот или иной хост (сайт). Команда выглядит следующим образом:
nslookup –type=ns merionet.ru
3. Определение SOA записи узла
SOA-запись (Start of Authority) — начальная запись зоны, которая указывает местоположение эталонной записи о домене. Она содержит в себе контактную информацию лица, ответственного за данную зону, время кэширования информации на серверах и данные о взаимодействии DNS. SOA-запись создается автоматически. Для определения SOA записи используется команда:
nslookup –type=SOA merionet.ru
4. Как найти MX-запись хоста
Электронная почта сегодня используется повсеместно. Чтобы отправлять и получать электронные письма хост используется тип записи MX. В каждой MX-записи хранятся два поля:
- имя почтового сервера, который обслуживает домен
- порядковый номер, по которому определяется какой сервер первым будет обрабатывать запросы клиентов
Для определения MX-записей хоста используется команда:
nslookup –type=MX merionet.ru
5. Определение всех типов DNS-записей
По умолчанию, команда nslookup отображает соответствие IP-адреса доменному имени. Но можно заставить утилиту вернуть все возможные записи для указанного хоста:
nslookup –type=any merionet.ru
6. Явное указание DNS-сервера
Утилита nslookup при сопоставлении имён, по умолчанию обращается к DNS-серверу, который установлен в настройках сетевой карты. Но утилите можно передать название или IP-адрес, который хотим использовать для сопоставления имён.
nslookup merionet.ru dns2.yandex.ru
Как видно из скриншота, ответ нам вернул уже сервер Яндекса.
7. Обратный DNS lookup
Обычно утилита nslookup используется для определения IP-адреса переданного хоста. Но что если IP-адрес уже есть, но нужно найти доменное имя? И здесь можно использовать nslookup передав в качестве значения IP-адрес узла.
8. Изменение номера порта для запроса
По умолчанию, для запросов DNS использует 53 (UDP) порт. Но это поведение тоже можно изменить, хотя особого необходимости в этом нет.
nslookup –port=56 merionet.ru
9. Изменение интервала ожидания
Бывают случаи, особенно при слабых Интернет соединениях, что ответа от сервера приходится ждать долго. По умолчанию, если ответ не приходит в течении 5 секунд, то запрос повторяется, увеличив время ожидания в два раза. Но можно вручную задать это значение в секундах:
nslookup –timeout=10 merionet.ru
Отработку этой команды увидеть сложно, но она может быть эффективна при соединениях с низкой скоростью.
10. Включение режима отладки
Режим отладки позволяет получать более детальную информацию об узле. Для этого используется команда:
nslookup –debug merionet.ru
Заключение
Когда утилита nslookup возвращает ответ, там указывается с какого сервера вернулся ответ. Эти сервера бывают authoritative и non-authoritative answer.
Authoritative answer – это ответ, полученные непосредственно от сервера, который располагает информацией об указанном домене. В нашем случае – это dns2.yandex.ru
. Non-authoritative answer – это ответ, полученный от промежуточного сервера. В нашем случае – это мой роутер.
Обновлено:
Опубликовано:
Утилита и одноименная команда nslookup позволяет обращаться к серверу имен (NS) из командной строки. С ее помощью можно выполнить проверку работы DNS-сервера и созданных в нем записей. В данной инструкции подробно разберем работу с данной утилитой.
nslookup и синтаксис
Описание опций
Примеры
Аналоги
Ввод команды и синтаксис
Для работы с утилитой необходимо открыть командную строку (cmd или powershell в Windows и unix-shell в UNIX). В системах на базе Windows утилита встроена, и мы можем работать с ней в любой момент. Для некоторых дистрибутивов Linux потребуется установка утилиты одной из команд:
yum install bind-utils
apt install dnsutils
* первая команда для систем на базе Red Hat, вторая — Debian.
Для выполнения запросов используем команду:
nslookup [опции] <имя хоста для опроса или IP-адрес> [сервер DNS]
Самый простой пример использования команды:
nslookup dmosk.ru
… позволит получить IP-адрес для узла dmosk.ru.
Утилита также поддерживает работу в интерактивном режиме — вводим команду:
nslookup
После можно делать запросы.
Опции nslookup
При выполнении запросов мы можем использовать следующие опции:
Опция | Описание |
---|---|
Применяются для команды и интерактивного режима | |
all | Выводит параметры текущего запроса и настроек сервера DNS. |
class=X | Задает класс запроса, который указывает группу протоколов информации. Возможны варианты: 1. IN — Internet. Более, чем в 99% случаев используется он. 2. CHAOS, HESIOD — данные классы используются, крайне, редко. 3. ANY — запрос по всем возможным классам. |
d2 | Выводит полной информации по осуществлению запроса. |
nod2 | Обычный вывод (по умолчанию). |
debug | Покажет отладочную информацию по запросу. |
nodebug | Запрос без отображения отладочной информации (по умолчанию). |
defname | При запросе к хосту не FQDN автоматически подставит домен, который находится в настройках системы (DNS-суффикс). |
nodefname | Не подставлять домен. |
domain=’NAME’ | Задает домен, который должен быть подставлен к имени хоста (альтернатива DNS-суффиксу). |
querytype=TYPE | Указывает на тип запроса или тип записи, например, А, mx, txt и так далее. Аналогична опции type. |
recurse | Рекурсивный запрос (информация запрашивается у других серверов, если ее нет на используемом в запросе). |
norecurse | Запрет на использование рекурсивного запроса. |
retry=X | В случае долгого ответа, параметр позволяет указать количество повторов опроса. |
root | Назначает текущий DNS в качестве корневого сервера по умолчанию. |
root=NAME | Позволяет задать корневой сервер. |
search | Добавлять DNS-имена к имени хоста из списка доменов (сам список задается опцией srchlist). |
nosearch | Не использовать список доменов для подстановки к имени хоста. |
srchlist=N1[/N2/…/N6] | Задает список доменов, который нужно подставлять при использовании опции search. |
timeout=X | Задает время в секундах, сколько утилита должна ждать ответа от сервера. |
type=X | Указывает на тип записи, которую будем опрашивать. Например, для получения записи AAAA мы вводим опцию type=АААА. |
vc | Позволяет использовать виртуальную схему при отправке запросов. К сожалению, я не нашел подробного описания, что это значит. |
novc | Не использовать виртуальную схему при отправке запросов. |
Работают только в интерактивном режиме (задается без SET) | |
lsserver NAME | Задает имя сервера DNS. При определении имени NAME используется начальная настройка DNS. |
server NAME | Задает имя сервера DNS. При определении имени NAME используется текущее значение для DNS. |
Также мы можем вызвать описание для nslookup.
а) в системах на базе Windows:
nslookup
> help
б) в Linux:
man nslookup
Использование опций
При вводе команды nslookup к опциям добавляем дефис, например:
nslookup -timeout=1 -type=MX dmosk.ru
Если мы работаем с nslookup в интерактивном режиме, то опции задаются с помощью команды set:
> set debug
> dmosk.ru
* первая команда задает опцию для выполнения подробных запросов. Вторая — делает запрос для домена dmosk.ru.
Примеры использования
1. Запрос записи ipv6 для домена mail.ru.
а) команда:
nslookup -type=AAAA mail.ru
б) интерактивный режим:
> set type=AAAA
> mail.ru
2. Узнать NS серверы для домена google.com.
а) команда:
nslookup -type=NS google.com
б) интерактивный режим:
> set type=NS
> google.com
3. Определить mx-записи для yandex.ru через DNS-сервер 8.8.8.8
а) команда:
nslookup -type=MX yandex.ru 8.8.8.8
б) интерактивный режим:
> set type=MX
> server 8.8.8.8
> yandex.ru
* где мы указываем:
- type — тип записи, которую должны найти.
- server — сервер DNS, который будем опрашивать.
4. Запрос имени по IP-адресу (обратная зона)
а) команда:
nslookup -type=ptr 94.100.180.31
б) интерактивный режим:
> set type=ptr
> 94.100.180.31
Аналоги nslookup
1) В качестве альтернативы командной строке, можно воспользоваться различными онлайн сервисами для выполнения запросов к DNS. Например, на 2whois.ru.
2) Для Linux можно воспользоваться утилитой dig, которая также предназначена для выполнения запросов к DNS.
3) На мобильных устройствах, например, под управлением Android есть свои утилиты для опроса DNS. Например, Ping & Net.
nslookup — это инструмент командной строки, который позволяет пользователям запрашивать серверы системы доменных имен (DNS), преобразовывать доменные имена в IP-адреса и извлекать различные типы записей DNS. Этот инструмент полезен для сетевых администраторов, разработчиков и ИТ-специалистов для устранения неполадок, связанных с DNS, и получения информации о конфигурациях доменов.
Эта статья ознакомит вас с использованием nslookup как в Windows, так и на Linux-серверах, охватывая основные команды, расширенные функции и практическое применение. Целью данной статьи является простое, базовое знакомство с этим прекрасным и удобным инструментом, который станет полезным для любого системного администратора.
1. Что такое NsLookup?
nslookup в буквальном переводе означает «поиск сервера имен». Он используется для запроса DNS-серверов, которые преобразуют понятные человеку доменные имена (например, example.com) в IP-адреса, которые компьютеры используют для связи. DNS-поиск помогает гарантировать, что пользователи могут получить доступ к веб-сайтам и службам, что делает nslookup ключевым инструментом для диагностики сетевых проблем.
Распространенные варианты использования NsLookup:
— Перевод доменных имен в IP-адреса.
— Проверка записей обмена почтой (MX).
— Выполнение обратного DNS-поиска (поиск доменных имен, связанных с IP-адресом).
— Отладка конфигураций DNS.
2. Использование NsLookup в Windows
Основные команды
Чтобы использовать nslookup в Windows, откройте командную строку (CMD) и введите следующий синтаксис:
nslookup [домен или IP]
Эта команда запрашивает DNS-сервер по умолчанию, настроенный в вашей системе. Вы также можете указать другой DNS-сервер для своих запросов.
Примеры:
Простой поиск домена:
nslookup example.com
Эта команда выводит базовую информацию о запрашиваемом домене:
Сервер: your-dns-server
Адрес: your-dns-ip
Неавторитетный ответ:
Имя: example.com
Адрес: 93.184.216.34
Указание DNS-сервера: запрос домена с использованием публичного DNS-сервера Google (8.8.8.8):
nslookup example.com 8.8.8.8
Обратный поиск DNS: поиск имени домена, связанного с IP-адресом:
nslookup 93.184.216.34
Запрос определенных записей DNS: получение записей обмена почтой (MX) для домена:
nslookup -query=mx example.com
Другие статьи по теме системного администрирования:
— Как узнать ваш IP-адрес в Linux различными способами
— Как перенаправить и перезаписать URL с помощью файла .htaccess
— 10 полезных консольных утилит для мониторинга Linux-сервера
— Установка конкретной версии cPanel на сервер
3. Использование NsLookup в Linux
Использование nslookup в Linux очень похоже на Windows. Инструмент обычно предустановлен и доступен через терминал. Основной синтаксис остается тем же:
nslookup [домен или IP]
Linux также поддерживает обратный поиск DNS и запрос определенных записей DNS.
Примеры
Простой поиск DNS:
nslookup example.com
Обратный поиск DNS:
nslookup 93.184.216.34
Запрос записей MX:
nslookup -query=mx example.com
4. Интерактивный режим в NsLookup
Интерактивный режим позволяет пользователям выполнять несколько запросов в одном сеансе, что полезно для более глубокого анализа DNS. Чтобы войти в интерактивный режим, просто введите nslookup без параметров:
nslookup
Попав в него, вы можете выполнить несколько команд для запроса различных доменов или типов записей.
Ключевые интерактивные команды
Установить тип записи: укажите тип записи DNS (например, MX, A или NS), которую вы хотите запросить:
set type=mx
После этого все запросы будут возвращать записи MX.
Изменить DNS-сервер: вы можете переключиться на другой DNS-сервер для дальнейших запросов:
server 8.8.8.8
Выйти из интерактивного режима: чтобы выйти, введите exit.
5. Практическое применение NsLookup
5.1 Устранение неполадок в сети
Если веб-сайт недоступен, nslookup может помочь определить, заключается ли проблема в разрешении DNS. Например, запуск поиска DNS может сказать вам, правильно ли домен преобразуется в IP-адрес.
5.2 Проверка записей DNS
Перед развертыванием таких служб, как электронная почта или веб-сайты, важно проверить правильность настройки записей DNS, таких как записи MX, NS и A. nslookup позволяет вам быстро проверить эти записи.
5.3 Обратные поиски DNS
Обратные поиски DNS полезны в контексте безопасности, где вам нужно проверить, соответствует ли IP-адрес законному доменному имени. Это может помочь выявить потенциальную вредоносную активность или неправильные конфигурации.
5.4 Тестирование альтернативных DNS-серверов
Иногда проблемы с сетью возникают из-за проблем с вашим DNS-сервером по умолчанию. С помощью nslookup вы можете протестировать альтернативных поставщиков DNS, таких как Google (8.8.8.8) или Cloudflare (1.1.1.1), чтобы диагностировать проблему.
6. Основные различия между Windows и Linux NsLookup
Хотя функциональность nslookup практически идентична в Windows и Linux, есть тонкие различия платформ, на которые стоит обратить внимание:
Конфигурация DNS-сервера
В Windows nslookup использует DNS-сервер, установленный в настройках вашего сетевого адаптера.
В Linux DNS-сервер определяется в файле /etc/resolv.conf.
Формат вывода
Формат вывода может немного отличаться между двумя платформами, хотя это не влияет на удобство использования команды.
Заключение
nslookup — это мощный кроссплатформенный инструмент для запросов к DNS-серверам и устранения неполадок, связанных с доменами. Независимо от того, диагностируете ли вы сетевую проблему, проверяете записи DNS или выполняете обратный поиск, nslookup обеспечивает простой и эффективный способ взаимодействия с DNS-серверами.
Освоив основы nslookup и его более продвинутые функции, такие как интерактивный режим, вы сможете уверенно решать проблемы, связанные с DNS, как в среде Windows, так и в среде Linux. Понимание того, как эффективно использовать nslookup, значительно расширит ваши возможности устранения неполадок в сети.
Last Updated :
24 Oct, 2024
The NsLoookup command is a utility that can be used when trying to troubleshoot problems with networking or test DNS configurations. It allows querying the DNS server for domain information, such as which IP addresses are associated with it, mail server information, and other DNS records DNS, or Domain Name System, is essential to the operation of the Internet. It translates human-readable domain names into the numerical IP addresses computers use to talk to each other. Checking DNS records is of great use in troubleshooting connectivity, making sure the domains are set up properly, and confirming DNS settings.
One of the effective ways to query DNS servers for relevant information regarding a domain is by using the NsLoookup command. This utility, upon use, returns the details regarding IP addresses, mail server settings, and lots more from a DNS server, making it an invaluable tool for any networked admin or user.
What is DNS?
DNS is the system that converts domain names into the IP addresses computers use to identify each other on the internet. DNS works like the internet’s phonebook, enabling users to access websites using the human-readable names of the websites rather than having to remember complex IP addresses. It will resolve the queries by arguing with DNS servers, and it is going to make sure the proper communication between devices over the internet is smooth. Without DNS, one would have to type numerical IP addresses for every website visited.
What is NsLoookup?
It’s a command line utility that queries DNS records about an IP address or domain. Examples of some of the DNS records shown from its use include A, AAAA, MX, and so on. Network troubleshooting, verification of DNS configuration, and the derivation of domain-specific information from a DNS server are some of the uses of this tool. Essentially it will let users interact directly with DNS servers and work on various operating systems, including Windows, macOS, and Linux.
Why We Use NsLoookup Command?
The NsLoookup command is used to perform network troubleshooting, fetch DNS information, and verify domain configuration. With it, it’s also possible to verify any mail server records, find out the IP address of any given domain, and query other information from DNS data. This helps in finding DNS errors and fixing slow or unavailable websites, making sure that a domain resolves. Similarly, it also helps network administrators confirm that DNS settings are functioning or working as expected after some changes.
Why Do We Check DNS Records?
It helps verify whether the DNS configurations right from mail server settings using MX records to domain forwarding using CNAME records are appropriately set. Checking DNS records is highly important in troubleshooting website outages, ensuring email deliverability, and confirming what changes have been made on a domain. Checks at regular intervals would avoid any probable issues arising from incorrect DNS propagation or misconfigured records. It also helps in the understanding and solving of network-based problems.
How to check DNS records using basic NsLoookup CMD
Open the Command Line > Basic NsLoookup Syntax >> Specific DNS Record Querying >>> Using Specific DNS Servers >> Interactive Mode
Step 1. Open the Command Line
Access to the command line interface is required to use NsLoookup
- For Windows: Press Windows + R, type in cmd, and press Enter
- For macOS: Open Terminal from Applications or Spotlight
- For Linux: Open the Terminal from your applications or use Ctrl + Alt + T

Step 2. Basic NsLoookup Syntax
The simplest way to conduct an NsLoookup is to query a domain name. Use the following command
NsLoookup <domain-name>
For example:
NsLoookup google.com
- Output This will return the default DNS server used to query the domain and associated IP addresses of the domain
Step 3. Specific DNS Record Querying
For querying specific DNS records, such as A, MX, CNAME, or TXT records, you need to specify the type of record you need
- A Record (IPv4 Address)
NsLoookup -type=A <domain-name>
- MX Record (Mail Exchange)
NsLoookup -type=MX <domain-name>
- CNAME Record (Canonical Name)
NsLoookup -type=CNAME <domain-name>
- TXT Record (Text Data)
NsLoookup -type=TXT <domain-name>
Step 4. Using Specific DNS Servers
- By default, NsLoookup uses the DNS server configured on your system. To query a domain using a specific DNS server include the DNS server address after the domain name.
NsLoookup <domain-name> <DNS-server-IP>
- For example, we use the Google DNS server
NsLoookup google.com 8.8.8.8
Step 5. Interactive Mode
- You can enter the interactive mode of NsLoookup to perform multiple queries without reopening the terminal. In the command line, type ‘NsLoookup’ followed by one query and then another
NsLoookup
> google.com
> set type=MX
> yahoo.com
- Use the exit to quit interactive mode
Conclusion
NsLoookup is a very basic but helpful command to query DNS records. Mastering basic syntax and learning about different types of DNS records will allow you to troubleshoot and also verify the domain configuration rather efficiently.