Nslookup (name server lookup) это утилита командной строки, которую можно использовать для диагностики службы DNS, проверки DNS записей и серверов и обнаружения проблем, связанных с разрешением имен в системе DNS. Утилита nslookup изначально разработана в составе пакета BIND и в дальнейшем портирована на Windows. На данный момент утилита Nslookup входит в состав всех поддерживаемых версий Windows.
Утилита Nslookup умеет отправлять запросы на DNS сервер, который указан в настройках вашего сетевого подключения. Этот адрес считается DNS севером по умолчанию (default server). Пользователь может указать адрес любого другого доступного DNS сервера, в результате чего все следующие DNS запросы будут выполнятся уже на нем.
С помощью утилиты nslookup вы можете узнать IP адрес любого сервера по его DNS имени, выполнить обратное преобразование, получить информацию о различных DNS записях домена.
Вы можете использовать утилиту nslookup в интерактивном или не-интерактивном режиме.
Чтобы выполнить DNS запрос с помощью nslookup в неинтерактивном режиме, откройте командную строку и выполните команду:
Nslookup vmblog.ru
В данном примере мы запросили IP адрес сервера vmblog.ru. Утилита nslookup обратилась к DNS серверу (указан в строке Server) и он вернул, что этому имени соответствует IP адрес 37.252.2.22.
Такой ответ говорит о том, что ваш DNS сервер доступен и работает штатно, выполняя запросы на разрешение DNS имен.
Если же вы получит ответ вида:
Server: dns1.someserver.com
Address: хх.хх.хх.хх
*** dns1.contoso.com can't find vmblog.ru: Non-existent domain
Это означает, что для данного имени не найдено записей в DNS зоне.
В том случае, если ваш DNS сервер недоступен или не отвечает, вы получите ошибки DNS request timed out.
В этом случае проверьте, указан ли у вас правильный адрес DNS сервера и нет ли проблем с сетевым подключением у провайдера.
Строка Non-authoritative answer (Не заслуживающий доверия ответ)означает, что DNS сервер, который выполнил запрос не является владельцем зоны vmblog.ru (в его базе нет записей об этом домене), а для выполнения разрешения имени использовался рекурсивный запрос к другому DNS серверу.
Можно обратиться к авторитетному серверу, указав его адрес непосредственно в параметрах утилиты nslookup. Например, чтобы выполнить разрешение имени на DNS сервере, который содержит данный домен (authoritative server), используйте команду:nslookup vmblog.ru ns1.vmblog.ru
При запуске nslookup без параметров, утилита переходит в интерактивный режим. В этом режиме вы можете выполнять различные команды. Полный список доступных внутренних команд утилиты nslookup можно вывести, набрав знак вопроса.
Совет. Обратите внимание, что команды утилиты nslookup являются регистрозависимыми.
Для завершения работы с nslookup наберите команду exit
и нажмите Enter.
Чтобы найти DNS сервера, которые отвечают за конкретный домен (authoritative servers), выполните команды:
set query=ns
vmblog.ru
Вы можете выполнить и обратное преобразование (получить DNS имя по IP адресу), для этого просто наберите IP адрес в интерактивной строке nslookup и нажмите Enter.
Вы можете задать тип DNS записей, которые должна вернуть утилита nslookup. Например, чтобы перечислить все почтовые сервера, заданные для определенного домена, выполните команду:
nslookup -type=mx gosuslugi.ru
Не заслуживающий доверия ответ:
gosuslugi.ru MX preference = 20, mail exchanger = mx68.gosuslugi.ru
gosuslugi.ru MX preference = 10, mail exchanger = mx.gosuslugi.ru
mx68.gosuslugi.ru internet address = 109.207.8.100
mx.gosuslugi.ru internet address = 109.207.1.100
Как вы видите, у данного домене 2 MX записи с приоритетами 10 и 20 (Чем меньше число, тем выше приоритет адреса). Если запись MX не отображается, скорее всего они просто не настроены для данного домена.
Чтобы вывести все DNS записи в доменной зоне, выполните команду:
nslookup -type=any gosuslugi.ru
gosuslugi.ru nameserver = ns2.gosuslugi.ru
gosuslugi.ru nameserver = ns8-l2.nic.ru
gosuslugi.ru nameserver = ns1.gosuslugi.ru
gosuslugi.ru nameserver = ns4-l2.nic.ru
gosuslugi.ru MX preference = 10, mail exchanger = mx.gosuslugi.ru
gosuslugi.ru MX preference = 20, mail exchanger = mx68.gosuslugi.ru
ns2.gosuslugi.ru internet address = 213.59.255.175
ns8-l2.nic.ru internet address = 91.217.21.1
ns1.gosuslugi.ru internet address = 109.207.2.218
ns4-l2.nic.ru internet address = 91.217.20.1
mx.gosuslugi.ru internet address = 109.207.1.100
mx68.gosuslugi.ru internet address = 109.207.8.100
Использование опции отладки (debug) позволяет получить дополнительную информацию, содержащуюся в заголовках запросов клиента и ответов сервера (время жизни, флаги, типы записей и т.п.):
set debug
Введение
В обширном и взаимосвязанном мире интернета Система доменных имен (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
указывает на то, что домен не существует. Проверьте доменное имя на наличие опечаток или проверьте, был ли домен недавно зарегистрирован.
DNS – распределенная компьютерная система, предоставляющая информацию о доменах. За хранение и передачу данных, а также привязку домена к IP-адресу отвечают ресурсные записи. Любая допущенная ошибка или опечатка не самым положительным образом повлияет на работу домена. Есть огромное количество ресурсных записей, но некоторые из них используются чаще всего.
Я расскажу, какими способами можно проверить каждый тип DNS-записи.
Типы DNS-записей
Функции ресурсных записей – это не только хранение, передача информации и привязка к IP адресу. Они также помогают настроить обработку запросов, перенаправляют их на другие серверы. Вот несколько наиболее важных типов DNS-записей:
- A – адресная запись, которая отвечает за привязку доменного имени к определенному IP-адресу по протоколу IPv4.
- AAAA – аналогична предыдущей, только действительна на основе интернет-протокола IPv6.
- CNAME – данный тип записи указывает на каноническое имя для псевдонима. С ее помощью к одному поддомену привязываются все ресурсные записи домена первого уровня.
- DKIM-подпись – подтверждает подлинность отправителя электронного письма. Именно эта ресурсная запись добавляет в сообщение цифровую подпись. Тем самым снижается вероятность попадания письма в папку «Спам».
- MX – регистрирует почтовые серверы, используя при этом протокол SMTP. Отвечает за доставку электронного письма на указанный сервер.
- NS – указывает на DNS-серверы, которые обслуживают домен. Чуть ли не одна из самых важных записей, без которой функционирование домена дало бы сбой.
- PTR – действует обратно записям A и AAAA, то есть показывает соответствие IP-адреса и доменного имени. Многие почтовые серверы во время фильтрации писем проверяют ее наличие.
- SOA – используется для указания на новую зону и авторитетность указанной в ней информации.
- SPF – защищает домен от подделки, показывает список доверенных серверов, с которых отправляются электронные письма. Это нужно для того, чтобы предотвратить рассылку спама от вашего доменного имени.
- SRV – хранит данные о местоположении серверов, обеспечивающих работу тех или иных служб.
- TXT – содержит общую вспомогательную информацию о домене, используется для указания SPF-записей, подтверждения прав собственности, обеспечения безопасности электронной почты и так далее.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Способы проверки DNS-записей домена
А зачем проверять DNS-записи? Ошибки, допущенные в ресурсных записях, приводят к нарушению работоспособности сайта. Даже после внесения всех правок полноценный доступ к сайту появится не сразу, так как изменения, внесенные в ресурсные записи, вступают в силу в течение 72 часов.
Есть множество способов, позволяющих проверить DNS-записи. Можно воспользоваться как специальными командами в системе, так и онлайн-сервисами.
Встроенные в систему службы
- nslookup. Действует на ОС Windows и Linux. С помощью этой утилиты можно точно узнать информацию об IP-адресе, а еще о настройке всех ресурсных записей. Утилита запускается через «Командную строку» в Windows и «Терминал» в Linux. Вводить команду нужно одинаково в обоих случаях и примерно вот так:
nslookup -type=тип_записи site.com
- host. Эта утилита используется в ОС Linux. Она есть в стандартном пакете командной строки «Терминал». С ее помощью можно проверить все виды запросов к DNS-серверу. Вводится команда вот таким образом:
host site.com
Можно перед доменным именем добавить опцию -t и указать тип записи для получения более подробного поиска. Выглядеть это будет примерно вот так:
host -t A site.com
host -t MX site.com
Проверка DNS-записей с помощью сторонних сервисов
Еще можно воспользоваться бесплатными онлайн-сервисами для проверки DNS записей.
- 2whois.ru – известный сайт, с помощью которого можно узнать DNS-записи самого разного типа. Просто нужно указать домен в соответствующей строке и начать проверку.
- dns.nettools.ru – очень удобный сервис, в котором можно получить информацию не только о ресурсных записях, но и возможности выполнения рекурсивных запросов, а также проверки сервера на возможность выгрузки данных.
- functions-online.com – здесь тоже очень удобно проверять настройки DNS-записей самых различных типов. Сервис дает полную информацию, а еще предоставляет PHP документацию на разных языках.
- mail-tester.com – сервис поможет определить, попадет ли письмо, отправленное с вашего сервера, в «Спам». Еще здесь можно определить ошибки в ссылках и проверить качество форматирования писем.
- xseo.in/dns – на данном ресурсе есть раздел для проверки самых разных DNS записей.
- digwebinterface.com – навороченный онлайн-сервис с очень простым исполнением. С первого взгляда может показаться сложным, но на самом деле справиться с ним может даже новичок.
Заключение
Каждая из предложенных утилит имеет свою особенность. К примеру, некоторые проверяют не все записи, другие же предоставляют более полную информацию о каждом типе. Выбор остается за вами.
There are many reasons why you might need to check the status of your Domain
Name System (DNS) records. For example, you might need to verify that updates
are correct or troubleshoot issues with accessing a service.
If you’re a Cloud DNS user, you can
view your DNS records through the Cloud Control
Panel. In addition, Microsoft® Windows®
offers nslookup
, a built-in tool for checking your DNS records from the
command line.
To access nslookup
, open a command prompt window by selecting Start >
All Programs > Accessories > Command Prompt.
To check a specific DNS record, you need to specify the nslookup
command,
an optional record type (for example, A
, MX
, or TXT
), and the host name
that you want to check.
Note: If you omit the record type, it defaults to A
.
The following example shows how to check A
records for rackspace.co.uk:
C:\Users\Administrator>nslookup rackspace.co.uk
Server: cachens1.lon.rackspace.com>
Address: 83.138.151.80
Non-authoritative answer:
Name: rackspace.co.uk
Address: 212.64.133.165
The first two lines of output specify the server to which the request
was directed. This server is the default server that your system uses for DNS
name resolution.
The second section gives the name of the record and the corresponding Internet
Protocol (IP) address. However, the answer in this section is
non-authoritative because it originates from a server
(cachens1.lon.rackspace.com) that isn’t the root source for those records.
To get an authoritative answer you need to specify the authoritative (primary)
name server at the end of the request.
Use the -type=soa
option to tell nslookup
to display the
authoritative name server, as shown in the following example:
C:\Users\Administrator>nslookup -type=soa rackspace.co.uk
Server: cachens1.lon.rackspace.com>
Address: 83.138.151.80
Non-authoritative answer:
rackspace.co.uk
primary name server = ns.rackspace.com
responsible mail addr = hostmaster.rackspace.com
serial = 1415913000
refresh = 3600 (1 hour)
retry = 300 (5 mins)
expire = 1814400 (21 days)
default TTL = 300 (5 mins)
ns.rackspace.com internet address = 69.20.95.4
The address labeled primary name server
is the DNS authority for the
domain.
If you add the address of the authoritative name server
(ns.rackspace.com) to the first command, the record is now checked
against that name server.
C:\Users\Administrator>nslookup rackspace.co.uk ns.rackspace.com
Server: ns.rackspace.com
Address: 69.20.95.4
Name: rackspace.co.uk
Address: 212.64.133.165
DNS uses caching, which reduces the load on authoritative name servers.
However, as a result, records might be outdated. If the authoritative and
non-authoritative answers differ, you have a cached response from the resolver
name server that you’re using. The length of time that a record is cached
depends on its time-to-live (TTL) value. The TTL is a number that is
specified in seconds.
To see how long a record is cached, include the debug
option, as shown in
the following example:
C:\Users\Administrator>nslookup -debug rackspace.co.uk
------------
Got answer:
HEADER:
opcode = QUERY, id = 1, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 2, additional = 2
QUESTIONS:
80.151.138.83.in-addr.arpa, type = PTR, class = IN
ANSWERS:
-> 80.151.138.83.in-addr.arpa
name = cachens1.lon.rackspace.com
ttl = 2466 (41 mins 6 secs)
AUTHORITY RECORDS:
-> 151.138.83.in-addr.arpa
nameserver = ns2.rackspace.com
ttl = 2466 (41 mins 6 secs)
-> 151.138.83.in-addr.arpa
nameserver = ns.rackspace.com
ttl = 2466 (41 mins 6 secs)
ADDITIONAL RECORDS:
-> ns.rackspace.com
internet address = 69.20.95.4
ttl = 12982 (3 hours 36 mins 22 secs)
-> ns2.rackspace.com
internet address = 65.61.188.4
ttl = 12985 (3 hours 36 mins 25 secs)
------------
Server: cachens1.lon.rackspace.com
Address: 83.138.151.80
------------
Got answer:
HEADER:
opcode = QUERY, id = 2, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 2, additional = 2
QUESTIONS:
rackspace.co.uk, type = A, class = IN
ANSWERS:
-> rackspace.co.uk
internet address = 212.64.133.165
ttl = 279 (4 mins 39 secs)
AUTHORITY RECORDS:
-> rackspace.co.uk
nameserver = ns.rackspace.com
ttl = 17465 (4 hours 51 mins 5 secs)
-> rackspace.co.uk
nameserver = ns2.rackspace.com
ttl = 17465 (4 hours 51 mins 5 secs)
ADDITIONAL RECORDS:
-> ns.rackspace.com
internet address = 69.20.95.4
ttl = 15754 (4 hours 22 mins 34 secs)
-> ns2.rackspace.com
internet address = 65.61.188.4
ttl = 15727 (4 hours 22 mins 7 secs)
------------
Non-authoritative answer:
Name: rackspace.co.uk
Address: 212.64.133.165
The response includes the following information:
- The first
Got answer
section of this example is used to get the
host name of the server from which you are requesting theA
record.
In this example, the host name is cachens1.lon.rackspace.com. - The second
Got answer
section relates to your actual request. - The
HEADER
section contains details about the type of request and
its success. - The
QUESTIONS
section shows that the request was forA
records
for rackspace.co.uk. - The
ANSWERS
section displays one record with an IP address of
212.64.133.165 and a TTL of 279 seconds (4 minutes 39 seconds). - The
AUTHORITY RECORDS
section specifies the name servers that
correspond to the domain. - The
ADDITIONAL RECORDS
section listsA
records for the name servers
that are listed in the authority records section.
This response shows that the name server that the client computer uses will
reuse the same A
record for rackspace.co.uk for the next 4 minutes and 39
seconds. If you run the same command on the authoritative name server, you
see the current maximum TTL for the record.
Updated over 1 year ago
Привет, мир! Рассказываем про 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 – это ответ, полученный от промежуточного сервера. В нашем случае – это мой роутер.