Аналог nslookup в linux

Обновлено: 01.07.2024

dig (англ. слово «копать», а формально — сокращение от «domain information groper») — утилита (DNS-клиент), предоставляющая пользователю интерфейс командной строки для обращения к системе DNS. Позволяет задавать различные типы запросов и запрашивать произвольно указываемые сервера. Является аналогом утилиты nslookup.

Утилита dig входит в стандартный комплект DNS сервера BIND.

1. Простой вывод команды dig (для понимания вывода, без доп.параметров )

Когда вы задаете имя домена в команде dig по-умолчанию вы получаете A-запись домена (ip-адрес сайта (домена) который мы запрашивали) как показано на листинге ниже

Так же можно выполнить опрос конкретного DNS-сервера:


Результат вывода дополняется еще двумя секциями:
AUTHORITY SECTION: Показывает имена DNS-серверов обработавших наш запрос
ADDITIONAL SECTION: Показывает ip-адреса этих DNS-серверов (из секции AUTHORITY SECTION)

2. Вывод только секции ANSWER SECTION

В большинстве случаев требуется только ip адрес домена, то бишь вывод секции "ANSWER SECTION"
Для этого существуют следующие ключи:
-+nocomments - отключает линию комментариев
-+noauthority - отключает секцию "AUTHORITY SECTION"
-+noadditional – отключает секцию "ADDITIONAL SECTION"
-+nostats – отключает секцию статистики
-+noanswer – выключает секцию ответа (ANSWER SECTION)


Можно сделать проще, существует ключ +noall, который выключает все секции. Таким образом мы используем ключ +noall и добавляем ключ +answer, уменьшая длину команды

3. Запрос MX-записи

Для запроса MX-записи домена мы используем одноименный аргумент командной строки (MX)


Этот же запрос можно выполнить с ключом -t (тип)

4. Запрос NS-записи

По аналогии с предыдущим пунктом, используем аргумент NS


Вы также можете использовать ключ -t для указания типа запроса

5. Просмотр всех типов DNS-записей

Для этого используется ключ ANY


Также допустим ключ -t

6. Краткий вывод команды dig

Допустим чтобы просмотреть только ip-адрес, без лишней информации, используем опцию +short


Вы также можете вывести информацию по любому виду информации с ключем +short
Пример:

7. Просмотр информации об обратной зоне домена (PTR)

Для просмотра обратной зоны необходимо использовать ключ -х
Для примера, мы хотим узнать имя домена по айпи-адресу 77.88.21.3

Для вывода полной информации убираем ключ +short

8. Использование конкретного DNS-сервера для выполнения запроса

Для использования конкретного DNS-сервераиспользуется запись вида - @dnsserver, где dnsserver это или имя или ip-адрес DNS-сервера
Данный пример мы рассмотрели в п.1

9. Объемный запрос (запрос информации сразу о нескольких доменах)

Для запроса информации о нескольких доменах возможно использование текстовых файлов с перечислением доменов.
Создадим файл names.txt с именами доменов:


Далее используем ключ -f для чтения из файла:


Также можно комбинировать тип DNS записи c опцией -f:

10. Изменение параметров по умолчанию для команды dig

Например вы хотите, чтобы утилита dig по умолчанию выводила только секцию ответа (ANSWER SECTION).
Для этого необходимо внести в файл .digrc необходимые ключи, в нашем случае +noall +answer:


Таким образом мы рассмотрели мизерную часть этой замечательной утилиты, для тех, кто хочет большего, добро пожаловать в man dig ;)

Одна из важнейших подсистем, отвечающая за связь любого сервера с внешним миром — сетевая. Через сетевые интерфейсы поступают запросы от удаленных систем и через эти же интерфейсы направляются ответы, что позволяет налаживать коммуникацию и предоставлять/получать сервисы. В связи с этим особенно важно уметь производить диагностику и мониторинг сети хотя бы на базовом уровне, чтобы выявлять проблемы и вносить корректировки в конфигурацию в случае необходимости.

Для операционных систем семейства Linux написано множество утилит, помогающих в диагностике и мониторинге. Познакомимся с наиболее часто используемыми из них.

Диагностика сетевой связности (ping, arp, traceroute)

В данной статье мы будем опираться на использование протокола IP версии 4. Согласно стандартам, определяющим работу этого протокола, каждое устройство, подключенное к сети, должно иметь как минимум IP-адрес и маску подсети — параметры, которые позволяют уникально идентифицировать устройство в пределах определенной сети. В такой конфигурации устройство может обмениваться сетевыми пакетами с другими устройствами в пределах той же самой логической сети. Если к этому набору параметров добавить адрес шлюза по умолчанию — наш сервер сможет связываться с хостами, находящимися за пределами локального адресного пространства.

В случае каких-либо сетевых проблем в первую очередь проверяем, не сбились ли настройки сетевого интерфейса. Например, команды ip addr или ifconfig выведут IP-адрес и маску сети:

Проверки настроек сетевого интерфейса

Скриншот №1. Проверки настроек сетевого интерфейса

В выводе команды виден перечень сетевых интерфейсов, распознанных операционной системой. Интерфейс lo — это псевдоинтерфейс (loopback). Он не используется в реальных взаимодействиях с удаленными хостами, а вот интерфейс с именем ens192 — то, что нам нужно (именование сетевых интерфейсов различается в разных ветках и версиях ОС Linux). IP-адрес и маска сети, назначенные этому интерфейсу, указаны в поле inet — /24 после адреса обозначают 24-битную маску 255.255.255.0.

Теперь проверим, указан ли шлюз по умолчанию. Команды ip route или route покажут имеющиеся маршруты:

Проверка маршрута

Скриншот №2. Проверка маршрута

В таблице маршрутизации мы видим, что имеется маршрут по умолчанию (обозначается либо ключевым словом default, либо адресом 0.0.0.0). Все пакеты, предназначенные для внешних сетей, должны направляться на указанный в маршруте адрес через обозначенный сетевой интерфейс.

Синтаксис команды ping IP/имя опции:

Синтаксис команды

Скриншот №3. Синтаксис команды

В данном случае видим, что на оба сетевых пакета, отправленных на адрес нашего шлюза по умолчанию, получены ответы, потерь нет. Это значит, что на уровне локальной сети со связностью все в порядке. Помимо количества полученных/потерянных сетевых пакетов мы можем увидеть время, которое было затрачено на прохождение запроса и ответа – параметр RTT (Round Trip Time). Этот параметр может быть очень важен при диагностике проблем, связанных с нестабильностью связи и скоростью соединения.

Часто используемые параметры:

  • ping –c количество — указать количество пакетов, которое будет отправлено адресату (по умолчанию пакеты отправляются до тех пор, пока пользователь не прервет выполнение команды. Этот режим можно использовать, чтобы проверить стабильность сетевого соединения. Если параметр RTT будет сильно изменяться в ходе проверки, значит где-то на протяжении маршрута есть проблема);
  • ping –s количество — указать размер пакета в байтах. По умолчанию проверка производится малыми пакетами. Чтобы проверить работу сетевых устройств с пакетами большего размера, можно использовать этот параметр;
  • ping –I интерфейс — указать сетевой интерфейс, с которого будет отправлен запрос (актуально при наличии нескольких сетевых интерфейсов и необходимости проверить прохождение пакетов по конкретному сетевому маршруту).

В случае, если при использовании команды ping пакеты от шлюза (или другого хоста, находящегося в одной локальной сети с сервером-отправителем) в ответ не приходят, стоит проверить сетевую связность на уровне Ethernet. Здесь для коммуникации между устройствами используются так называемые MAC-адреса сетевых интерфейсов. За разрешение Ethernet-адресов отвечает протокол ARP (Address Resolution Protocol) и с помощью одноименной утилиты мы можем проверить корректность работы на этом уровне. Запустим команду arp –n и проверим результат:

Команда arp –n

Скриншот №4. Команда arp –n

Команда выведет список IP-адресов (так как был использован аргумент –n), и соответствующие им MAC-адреса хостов, находящиеся в одной сети с нашим сервером. Если в этом списке есть IP, который мы пытаемся пинговать, и соответствующий ему MAC, значит сеть работает и, возможно, ICMP-пакеты, которые использует команда ping, просто блокируются файрволом (либо со стороны отправителя, либо со стороны получателя). Подробнее об управлении правилами файрвола рассказано здесь и здесь.

Часто используемые параметры:

  • arp –n — вывод содержимого локального arp-кэша в числовом формате. Без этой опции будет предпринята попытка определить символические имена хостов;
  • arp –d адрес — удаление указанного адреса из кэша. Это может быть полезно для проверки корректности разрешения адреса. Чтобы убедиться, что в настоящий момент времени адрес разрешается корректно, можно удалить его из кэша и снова запустить ping. Если все работает правильно, адрес снова появится в кэше.

Если все предыдущие шаги завершены корректно, проверяем работу маршрутизатора — запускаем ping до сервера за пределами нашей сети, например, 8.8.8.8 (DNS-сервис от Google). Если все работает корректно, получаем результат:

Проверка работы маршрутизатора

Скриншот №5. Проверка работы маршрутизатора

Утилита traceroute

Скриншот №6. Утилита traceroute

Первым маршрутизатором на пути пакета должен быть наш локальный шлюз по умолчанию. Если дальше него пакет не уходит, возможно проблема в конфигурации маршрутизатора и нужно разбираться с ним. Если пакеты теряются на дальнейших шагах, возможно, есть проблема в промежуточной сети. А, возможно, промежуточные маршрутизаторы не отсылают ответные пакеты. В этом случае можно переключиться на использование другого протокола в traceroute.

Часто используемые опции:

  • traceroute –n — вывод результата в числовом формате вместо символических имен промежуточных узлов;
  • traceroute –I — использование ICMP-протокола при отслеживании маршрута. По умолчанию используются UDP-датаграммы;
  • traceroute –s адрес— указать адрес источника для исходящего сетевого пакета;
  • traceroute –i интерфейс— указать сетевой интерфейс, с которого будут отправляться пакеты.

Диагностика разрешения имен (nslookup, dig)

Разобравшись с сетевой связностью и маршрутизацией приходим к следующему этапу — разрешение доменных имен. В большинстве случаев в работе с удаленными сервисами мы не используем IP-адреса, а указываем доменные имена удаленных ресурсов. За перевод символических имен в IP-адреса отвечает служба DNS — это сеть серверов, которые содержат актуальную информацию о соответствии имен и IP в пределах доверенных им доменных зон.

Способы выяснения какой DNS-сервер использует наш сервер различаются в зависимости от используемой версии и дистрибутива ОС Linux. Например, если ОС используется Network Manager для управления сетевыми интерфейсами (CentOS, RedHat и др.), может помочь вывод команды nmcli:

Команда nmcli

Скриншот №7. Команда nmcli

В настройках сетевого интерфейса, в разделе DNS configuration, мы увидим IP-адрес сервера. В Ubuntu 18.04 и выше, использующих Netplan, используем команду systemd-resolve --status:

Команда systemd-resolve --status

Скриншот №8. Команда systemd-resolve --status

Используемый сервер также будет указан в настройках интерфейса, в разделе DNS Servers. В более старых версиях Ubuntu потребуется проверить содержимое файлов /etc/resolve.conf и /etc/network/interfaces. Если сервер не указан, воспользуйтесь статьей для ОС Ubuntu 18.04 или CentOS, чтобы скорректировать настройки.

Проверить работу сервиса разрешения имен нам помогут утилиты nslookup или dig. Функционально они почти идентичны: G-вывод утилиты dig содержит больше диагностической информации и гибко регулируется, но это далеко не всегда нужно. Поэтому используйте ту утилиту, которая удобна в конкретной ситуации. Если эти команды недоступны, потребуется доставить пакеты на CentOS/RedHat:

yum install bind-utils

sudo apt install dnsutils

После успешной установки сделаем тестовые запросы:

Тестовые запросы

Скриншот №9. Тестовые запросы

Подтверждение корректной работы

Скриншот №10. Подтверждение корректной работы

Аналогичный запрос утилитой nslookup выдает более компактный вывод, но вся нужная сейчас информация в нем присутствует.

Отправка тестового запроса 1

Скриншот №11. Отправка тестового запроса 1

Отправка тестового запроса 2

Скриншот №12. Отправка тестового запроса 2

Если имена разрешаются публичным DNS-сервером корректно, а установленным по умолчанию в ОС нет, вероятно, есть проблема в работе этого DNS-сервера. Временным решением данной проблемы может быть использование публичного DNS-сервера в качестве сервера для разрешения имен в операционной системе. В том случае, если разрешение имен не работает ни через локальный, ни через публичный DNS сервер — стоит проверить не блокируют ли правила файрвола отправку на удаленный порт 53 TCP/UDP пакетов (именно на этом порту DNS-серверы принимают запросы).

Часто используемые параметры:

Как обычно, полный набор опций и параметров для указанных утилит можно найти во встроенной справке операционной системы, используя команду man.

Часто возникают ситуации, когда нужно проверить работу сервиса доменных имен, или просто просмотреть записи DNS, тогда в этом случаи можем воспользоваться командой dig в Линуксе.

dig - это утилита, которая позволяет отправлять запросы к ДНС серверу, является аналогом команды nslookup, входит в комплект bind9.

Для чего нужен ДНС?

В современном мире мы можем подключаться не только к серверам, компьютерам, но и к различным устройствам. Сейчас IP-адреса могут быть у часов, весов даже у чайников.

DNS - система доменных имен. Она связывает доменные имена с цифровыми адресами и служит для интерпретации доменных имен в IP-адреса.

Для подключения к устройству, кто устанавливает соединения должен знать IP-адрес назначения. Если соединения устанавливает человек, например открывает браузер и пытается открыть какой-нибудь сайт, то для человека запоминать айпи адреса сервера сайта достаточно сложно, поэтому в 80-х годах придумали систему доменных имен.

Синтаксис

  • -t - какой тип запроса получить, TXT, NS, A;
  • -c - какой класс запроса получить, IN;
  • -x - преобразование адреса в нормальное написание, обычно опция используется чтобы получить PTR запись;
  • A - IP-адрес версии 4;
  • AAAA - адрес версии 6;
  • CNAME - псевдоним;
  • MX - показать Mail eXchange запись;
  • NS - имя сервера доменных имен;
  • PTR - обратное разрешение;
  • SOA - техническая информация о домене;
  • TXT -показать txt запись;
  • +short -скрывает лишнюю информацию, тем самым выводит только ваш запрос;
  • +noall - отключит все секции;
  • +noanswer – отключит секцию "ANSWER SECTION"
  • +nostats – убирает статистику;
  • +nocomments – убирает комментарии;
  • +noadditional – убирает "ADDITIONAL SECTION";
  • +noauthority – не покажет на экране "AUTHORITY SECTION".

Примеры

Узнаем айпи адрес сайта. Для этого введем команду без аргументов.

Получение ns записей

На скриншоте видно секции:

  • HEADER -выводит информацию о текущей версии dig;
  • QUESTION SECTION - выводит наш запрос. Мы запросили А запись;
  • ANSWER SECTION - выводит ответ ДНС сервера.
  • ADDITIONAL SECTION - показывает айпи адреса ДНС серверов.
  • Область статичтики.

Получим адрес почтового сервера, так называемые МХ запись. Для этого в качестве аргумента укажем MX.

Получаем адрес почтового сервера

Наша строчка в секции ANSWER SECTION.

Уберем лишнюю информацию, выведем только секцию ANSWER SECTION. Для этого введем дополнительные аргументы +noall +answer.

Проверка DNS записей домена - лучшие бесплатные сервисы

DNS-записи (ресурсные записи DNS) связывают доменное имя с IP-адресом сервера, на котором расположен сайт. Ошибки или опечатки в них могут сделать невозможным доступ к сайту, поэтому необходимо внимательно следить за их корректным заполнением.

Специальные сервисы помогают правильно указать DNS-записи, проверить их наличие и корректность настройки. Это значительно упрощает жизнь системного администратора, веб-мастера и разработчика. О лучших бесплатных онлайн-сервисах для проверки DNS-записей расскажем в этой статье.

Типы DNS-записей

Помимо своей основной функции — сопоставления домена с IP-адресом, DNS-записи хранят служебную информацию, перенаправляют запросы на другие серверы и помогают правильно настроить их для обработки запросов. Для решения такого спектра задач, они подразделяются на типы.

Проверка DNS-записей домена - типы записей

Наиболее важные типы DNS-записей приведены в списке ниже.

  • A-запись — находит IP-адрес сервера по введенному названию сайта в адресную строку браузера.
  • CNAME-запись — указывает на несколько поддоменов на одном сервере.
  • MX-запись — указывает сервер, который отвечает за прием почты для данного домена.
  • TXT-запись — информационная запись с информацией для внешних источников (хранит до 255 байт). Часто используется для подтверждения прав собственности на домен.

Подробно о работе DNS и типах записей можно прочитать в нашей базе знаний.

Зачем проверять DNS-записи

Ошибки в ресурсных записях DNS могут стать причиной того, что сайт станет недоступен на длительное время. Ведь, даже при внесении правок, изменения вступят в силу только в течение 72 часов. Проверка DNS-записей помогает убедиться в их правильной настройке и работоспособности.

Проверка DNS записей домена - лучшие бесплатные сервисы 1

Windows и Linux утилиты для проверки DNS-записей

Утилиты для проверки посылают специальные запросы, чтобы проверить существование и значение DNS-записей. Проверить можно одну запись, или несколько сразу. Ниже приведены наиболее распространенные утилиты проверки DNS-записей для Windows и Linux.

Лучшие бесплатные сервисы для проверки DNS-записей

Без специальных знаний разобраться с утилитами может быть не просто. В таком случае, можно проверить DNS-записи домена через онлайн-сервисы. Они значительно помогают упростить процесс проверки.

Достаточно, зайти на сайт, зарегистрироваться, указать параметры проверки, получить результат. Чтобы вам было легче разобраться с ними, мы подготовили список лучших online-сервисов для проверки DNS-записей.

Проверка DNS-записей домена - pr-cy.ru

Многофункциональный портал для владельцев и администраторов сайта, SEO-специалистов и копирайтеров. Простой в использовании сервис поможет выполнить полную проверку сайта, даже новичку. Большая часть функций доступна бесплатно. Сервис умеет проверять следующие типы DNS-записей: TXT, MX, A, SOA, NS.

Основные возможности

  • Полная проверка DNS-записей.
  • Измерение скорости соединения с сервером.
  • Проверка IP-адреса заданного хоста.
  • Вывод заголовков сервера.
  • Автоматический контроль за доступностью сайта.
  • Вывод WHOIS-информации по домену.
  • Проверка портов на доступность — способность принимать входящие подключения.
  • Контроль за посещаемостью сайта.
  • Проверка IP-адреса в спам-базах.

Кроме этого, сервис посчитает стоимость сайта, поможет создать превью и favicon, покажет все сайты с одного IP-адреса, определит CMS, выполнит полный SEO-анализ сайта с учетом указания ключевых слов и их позиций в поисковых системах и многое другое.

Особенности

Большая часть функций доступна бесплатно и без регистрации. Сообщество помогает разобраться в сложных вопросах. На бирже сайтов, можно купить уже готовый проект.

2whois

Проверка DNS-записей домена - 2whois.ru

Удобный и бесплатный сервис для системных администраторов и веб-мастеров, разработчики которого решили сфокусироваться на технической стороне проверки. Сервис умеет проверять следующие типы DNS-записей: TXT, MX, A, SOA, NS, PTR.

Основные возможности

  • Проверка DNS-записей.
  • Вывод WHOIS-информации о домене.
  • Встроенная поддержка распространенных утилит (NSLookUp, Dig, PTR).
  • Возможность проверки пинга (ping) сайта.
  • Вывод полного маршрута пакетов до конечного сервера через Traceroute.
  • Контроль работоспособности сайта из различных точек земного шара.

Дополнительно, поможет проверить сайт на вирусы и его наличие в базах Роскомнадзора и в спам-базах.

Особенности

Полностью работает без регистрации, несмотря на ее наличие. Здесь она используется для сохранения проверок и большего удобства. Достаточно, зайти на сайт ввести в поле адрес сайта, нажать кнопку «Проверить». Практически сразу, можно приступать к изучению результатов.

Проверка DNS-записей домена - 2ip

Еще один многофункциональный сервис. Может проверить TXT-запись, а также следующие типы записей: ANY, A, NS, CNAME, MX, PTR, SOA, LOC, RP, AXFR, SRV.

Основные возможности

  • Проверка DNS и IP.
  • Предоставление VPN-сервера.
  • Вывод информации о браузере посетителя.
  • Измерение скорости работы сайта.
  • Проверка доставки E-mail и защиты от спама.
  • Проверка E-mail на взлом через наличие логинов и паролей в соответствующих базах данных (которые были украдены и уже использовались в недобросовестных целях).

Особенности

MXToolbox

Проверка DNS-записей домена - DNSLookup

Зарубежный сервис является оболочкой для утилиты NSLookup. В отличие от утилиты, встроенной в операционные системы, сервис не требует специальных знаний и сразу выводит записи типа: A.

Основные возможности

Особенности

Большая часть функций работает без регистрации. Платный тариф предоставляет широкий функционал по круглосуточному отслеживанию работоспособности сайта.

NetTOOLS

NetTOOLS

Функциональность online-сервиса обеспечена встроенными в него утилитами. Они помогают быстро и легко проверить разные параметры работоспособности сайта. Сервис проверяет записи следующих типов: ANY, SOA, A, MX, NS, PTR, TXT, CNAME, SRV, LOC.

Основные возможности

Особенности

Этот ресурс оснащен библиотекой и расширенной документацией. Такой подход помогает выполнить необходимые проверки, сравнить результаты с библиотекой сервиса, скорректировать настройки для изменения.

functions-online

Проверка DNS-записей домена - functions-online

Моделирует работу PHP-функций онлайн. Является удобным помощником при отладке кода, написанного на языке PHP. В PHP есть функция получения DNS-записей домена. Через него можно проверить наличие определенных DNS-записей: ANY, ALL, A, CNAME, HINFO, MX, NS, PTR, SOA, TXT, AAAA, SRV, NAPTR, A6.

Основные возможности

  • Проверка DNS-записей, указанных выше типов.
  • Предоставление полной информации о DNS-записях.
  • Предоставление документации по PHP-функциям на русском, английском, немецком, французском, итальянском, японском, португальском и турецком языках.

Особенности

Сервис выполнен в формате документации с моделированием работы PHP-функций. Здесь представлена большая часть функций языка. Удобен для разработчика, но мало подходит для начинающего администратора или веб-мастера.

Вывод

Каждый системный администратор должен убедиться в полной корректности всех настроек DNS-записей. Ведь, правильно указанные записи, обеспечивают доступность интернет-ресурса, помогают в продвижении. Неправильные — вызывают перебои в работе сайта и даже полную недоступность домена ресурса на длительное время.

Вышеописанные бесплатные сервисы помогут быстро проверить один или несколько сайтов на наличие и правильность настроек DNS-записей.

Чтобы сайт был не только доступен в интернете, но и работал бесперебойно, нужно обеспечить его достойной платформой. VPS от Eternalhost — хостинг на быстрых NVMe-дисках с круглосуточной техподдержкой и защитой от DDoS-атак.

Читайте также: