Как узнать домен в линукс

Обновлено: 06.07.2024

Dig – это сетевой инструмент, позволяющий обращаться к серверам DNS за информацией. Он может быть очень полезным при диагностике проблем с направлением домена; также это отличный способ убедиться в правильной работе конфигураций.

Эта статья охватывает использование dig для проверки настроек доменного имени и выведения данных о том, как интернет видит домен. В ней также рассматриваются другие связанные с dig инструменты, такие как whois и ping.

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

Использование dig

Основной способ использования dig – это указание домена, к которому нужно обратиться с запросом:

Выведено достаточно много информации. Рассмотрим ее по частям.

Вышеуказанные строки являются заголовком выведенного запроса. Можно также запустить dig в пакетном режиме (batch), потому надлежащая маркировка результатов имеет большое значение для обеспечения корректного анализа.

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64399
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

Следующая часть предоставляет техническое резюме результатов запроса. Здесь можно видеть, что запрос был успешным, что было получено 4 «ответа», а также использованные флаги.

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

Эти строки просто предоставляют некоторые статистические данные о фактических результатах запроса. Время запроса может указать на проблему с DNS-сервером.

Тестирование DNS-записей с помощью dig

Если доменное имя уже установлено, можно использовать dig для запроса информации.

Чтобы проверить, правильно ли установлены записи А, введите:

При необходимости проверить, правильно ли направлены почтовые серверы, введите:

В целом, тип записи, поиск которой нужно провести, можно использовать после доменного имени в запросе.

Чтобы получить информацию обо всех записях, введите:

Это отобразит все записи, соответствующие базовому домену, а именно записи SOA, NS, A и MX.

Примечание: В связи с особенностями работы TTL и DNS иногда требуется некоторое время, чтобы внесенные изменения были переданы на сервер доменных имён. Если созданная запись не выводится, подождите, пока TTL достигнет 0, чтобы проверить, появилась ли данная запись.

Чтобы отобразить только фактический IP, на который направлен домен, введите:

Использование команды host

Команда host является альтернативой команде dig. Данная команда действует подобным dig образом, а также использует многие её опции.

Обратите внимание: не нужно использовать флаг, чтобы изменить функциональность с обычного поиска DNS на обратный поиск.

Как и с командой dig, можно указать тип нужной записи. Для этого используется флаг «-t».

Чтобы вернуть записи «mх» Google, наберите:

Так же легко можно получить и другие типы записей.

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

Чтобы получить дополнительную информацию о хосте, можно вывести подробный результат с помощью флага «-v».

Это действие предоставляет подробную информацию.

Другие инструменты для опроса серверов имен DNS

Ping является простым способом проверить, правильно ли распознается доменное имя.

Данная команда очень проста в использовании:

Она будет продолжать выводить информацию, пока не будут нажаты «CTRL-C».

Можно также сказать программному обеспечению использовать ping только определенное количество раз. Чтобы использовать ping три раза:

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

whois

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

Запустите следующую команду:

Это выведет длинный список информации. Форматирование будет меняться на основе Whois-сервера, содержащего информацию.

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

Команда dig (domain information groper) — многофункциональный инструмент для опроса DNS-серверов. Она позволяет получить больше информации о конкретном домене, для того чтобы, например, узнать используемые им IP-адреса.

Этот инструмент может оказаться полезным сетевым администраторам для выявления неисправностей DNS. Аналоги чаще всего предлагают меньше функций и возможностей, чем может предоставить утилита командной строки dig. В этой статье мы рассмотрим что из себя представляет команда dig Linux, а также как ею пользоваться.

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

Использовать команду dig несложно. Достаточно ввести название сервера, имя домена и передать команде подходящие опции:

$ dig @сервер доменное.имя тип записи флаги

  • @cервер — IP-адрес или доменное имя DNS-сервера (если не указано, dig будет обращаться к DNS-серверу, используемому по умолчанию);
  • доменное.имя — доменное имя интернет-ресурса, о котором необходимо получить информацию;
  • тип записи — позволяет указать, для какого типа записи необходим вывод, например A, NS, MX или TXT;
  • флаги — с помощью флагов утилите dig отдаются дополнительные команды; оговаривается, каким должен быть вывод команды (что в нём должно быть, а чего нет).

Опции и флаги dig

Во время работы утилиты dig могут использоваться следующие флаги:

  • +[no]all — отображает или скрывает все установленные по умолчанию флаги отображения;
  • +[no]answer — отображает только ответ на запрос;
  • +[no]fail — эта опция указывает, должна ли утилита переключаться на следующий DNS сервер, если текущий не отвечает (по умолчанию стоит +fail);
  • +short — сокращает вывод утилиты;
  • +[no]cmd — отключает вывод заголовка и информации об использованных опциях утилиты;
  • +[no]identify — используется вместе с флагом +short и отображает информацию об IP-адресе сервера;
  • +[no]comments — удаляет все комментарии из вывода утилиты;
  • +[no]trace - позволяет вывести список DNS серверов через которые прошёл запрос на получение информации о домене, по умолчанию отключено.

Вместе с dig можно применять следующие опции:

  • -4 — позволяет использовать только IPv4;
  • -6 — позволяет использовать только IPv6;
  • -x — предназначена для получения домена по IP;
  • -f — используется для чтения списка доменов из файла;
  • -b IP-адрес — позволяет указать исходящий IP-адрес, с которого отправлен запрос к DNS-серверу, полезно, если к компьютеру подключено несколько сетевых карт;
  • -r — предотвращает чтение настроек из файла

Здесь указаны лишь некоторые флаги и опции. Если необходимо узнать больше, используйте команду:

Примеры использования dig

1. Получение информации о домене

AWoEvxXdEwy1AAAAAElFTkSuQmCC

Рассмотрим каждую секцию вывода подробнее:

  • HEADER — отображает информацию о версии утилиты, ID запроса, полученных ошибках и использованных флагах вывода. Выводится и другая важная информация о количестве запросов, обращений к DNS-серверу и т. д.;
  • QUESTION SECTION — секция, которая отображает текущий запрос;
  • ANSWER SECTION — секция, в которой отображается результат обработки созданного запроса (в данном случае это IP-адрес домена).

По умолчанию утилита выводит много лишней информации. Для получения только основных данных используйте запрос с флагом +short. Например:

wJk6y+sBeTRZwAAAABJRU5ErkJggg==

Если использовать команду dig вместе с +noall, вы ничего не увидите, поскольку этот флаг отключает вывод всех секций.

B3QBYZUV1MWfAAAAAElFTkSuQmCC

Если вместе с флагом +noall использовать флаг +answer, dig выведет только ту информацию, которая есть в секции ANSWER (IP-адрес, тип записи и пр.).

dig доменное.имя +noall +answer

jbGwz6X8BNOpRti0WYhwAAAAASUVORK5CYII=

Для создания комбинированного запроса можно использовать текстовый файл со списком сайтов, например, sites.txt. Чтобы создать текстовый документ с таким именем, введите следующую команду в терминале:

SDeZvk6JPmAAAAAElFTkSuQmCC

В файл необходимо добавить список доменов, для которых необходимо получить данные, например:

BV9nxnBcIYCKAAAAAElFTkSuQmCC

Для того чтобы получить информацию о перечисленных в файле sites.txt доменах, используйте команду:

dig -f sites.txt +noall +answer

xwAAAAASUVORK5CYII=

2. Получение определённой записи

M4GttM+r8AKWjf3SlHBwAAAABJRU5ErkJggg==

Чтобы получить NS-запись для домена, введите в терминале такую команду:

FR6UJVK6q0GU5gbUxPo26NSCv+z+MsbDPpv55hy7uFvzu1AAAAAElFTkSuQmCC

Запрос записи A происходит по умолчанию. Однако мы можем прописать этот запрос отдельно, чтобы обеспечить её вывод без дополнительной информации:

jdJ7u2cr37T7AAAAABJRU5ErkJggg==

Для вывода записи TXT аналогичным образом используйте команду вида:

ZAAAAAElFTkSuQmCC

Для просмотра всех типов записей одновременно используйте запрос вида:

Z4Zfj60weQSBhWN1R+ZncjwphElBYPbINiIyjlqYaPgMpp3YwPfWKVArEcjiXHmLcBWhzKQM0Bje5yCwUQr4susHv57njO4+59nRAMEMFt5L5WULCoT7qX8nCkTvq7JkLVSEiygxzD2RCAhTELnPiPSgDNeiwilMyiyyCuJ0SxUBAkjOs48mZoA9cyk+VrrQ6hVVygwnsBamD6PuWpGu+D+Ps7HNpP8FrjgWvr5mrXcAAAAASUVORK5CYII=

3. Использование определённого DNS-сервера

Если DNS-сервер не был указан, как это было показано в предыдущих примерах, утилита dig linux будет по очереди пробовать все серверы из файла /etc/resolv.conf. Если же и там ничего нет, dig отправит запрос на localhost.

Указывать DNS-серверы можно в формате IPv4 или IPv6. Это не имеет значения и не повлияет на вывод dig. Отправим запрос на публичный DNS-сервер Google. Его IP-адрес: 8.8.8.8. В этом случае запрос в dig будет выглядеть следующим образом:

jGGwz6X8D1czKx8MBhr8AAAAASUVORK5CYII=

4. Получение домена по IP

Для того чтобы узнать имя домена с помощью команды dig по IP, используйте опцию -x. Например, для того, чтобы узнать домен, привязанный к IP адресу 87.250.250.242 выполните такую команду:

dig -x 87.250.250.242

Как видите, это IP адрес яндекса. Правда такой способ получения доменов работает не всегда. Если к IP привязано несколько доменов программа может вывести только первый. Для того чтобы сократить вывод и оставить только нужную нам информацию, можно ввести запрос следующим образом:

dig -x 87.250.250.242 +short

Выводы

В этой небольшой статье мы рассмотрели, как можно использовать dig для опроса DNS-серверов. Несмотря на то что команда достаточно простая, она позволяет получить много полезной информации. А чем вы пользуетесь для обращения к серверам DNS? Напишите об этом в комментариях ниже.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Команды по работе с доменными именами: host, nslookup, dig, whois, ping

DNS (Domain Name System) — это система доменных имён, с помощью которой каждому имени домена сопоставляется его реальный IP адрес. В основе самого понятия DNS лежит представление о структуре доменного имени и зонах. Чтобы понять, как работать с доменными именами в Linux, нам необходимо изучить основные команды для работы с DNS, их синтаксис и примеры применения на практике. В этой статье рассмотрим следующие команды: host, nslookup, dig, whois, ping. Все практические задачи по работе с доменными именами мы покажем на нашем VPS под управлением серверной ОС CentOS 7. Для работы нам потребуется установить пакет утилит: bind-utils, без которого в CentOS 7 не будут работать команды host, nslookup, dig.

установка bind-utils в CentOS 7

Также в синтаксисе некоторых команд мы будем использовать основные DNS записи для доменного имени (A, AAAA, MX, NS, SOA, TXT, CNAME, PTR), ниже расшифруем, что означает каждая из них.
Зарегистрировать домен Вы можете здесь.

Основные DNS записи для домена

Все владельцы доменов могут зайти в свой рабочий кабинет у хостинг-провайдера (или регистратора доменных имен) и посмотреть записи для своего домена, оформленные, как правило, в виде таблицы, которая содержит следующие поля:

  • Имя (хост, псевдоним);
  • Тип записи;
  • Значение (IP адрес, назначение, ответ и т.д.).

DNS записи для домена

Существуют следующие типы записей:

Команда dig

Одна из основных команд Linux для работы с доменами — это dig (domain information groper). Утилита предоставляет возможность узнать о домене наиболее полную информацию, например, IP адрес, который привязан к данному доменному имени и еще ряд полезных для системного администратора параметров. Синтаксис команды dig следующий:

dig [@сервер] [имя домена] [тип записи] [флаги], где:

  • @cервер — указывает IP-адрес сервера DNS, если не указать этот параметр, то обращение идет к серверу DNS «по умолчанию»;
  • имя домена — указывает имя домена, о котором нужно получить информацию;
  • тип записи — тип записи DNS (А, MX, TXT, NS и т.д.);
  • флаги — с помощью флагов можно задать дополнительные опции утилиты dig.

Ниже укажем основные флаги утилиты dig:

  • +[no]all — используется для вывода на экран или сокрытия всех установленных «по умолчанию» флагов;
  • +[no]answer — необходима для отображения только ответа на запрос;
  • +short — выводит информацию о домене в сокращенном формате;
  • +[no]identify — применяется совместно с флагом +short для отображения информации об IP-адресе сервера;
  • +[no]comments — служит для вывода информации без комментариев;
  • +[no]trace — используется для вывода списка DNS серверов, через которые идет запрос на получение данных о домене.

Дополнительно, могут быть использованы следующие опции для команды dig:

  • -4 — разрешает к использованию только IPv4;
  • -6 — разрешает к использованию только IPv6;
  • -x — служит для получения имени домена по его IP-адресу;
  • -f — предназначена, чтобы прочитать список доменов из файла;
  • -t — служит для обозначения типа записи, которую надо вывести на экран;
  • -p — показывает номер порта DNS сервера.

Мы показали только часто употребляемые флаги и опции команды dig, для получения полной информации по данному вопросу советуем воспользоваться командой:

Сейчас приведем практические примеры использования утилиты dig. Самый простой случай применения dig:

Например, введем в терминале:

результаты выполнения команды dig

Как понять результаты выполнения этой команды? Информация условно поделена на три секции:

  • секция HEADER — показывает текущую версию утилиты dig, ID запроса и т. д.;
  • секция QUESTION SECTION — выводит на экран текущий запрос;
  • секция ANSWER SECTION — отображает ответ на созданный запрос (в нашем запросе выводит IP домена).

Если вы хотите получить только основные данные по домену, то стоит задать сокращенный запрос следующей командой:

использование команды dig с флагом +short

При использовании флага +noall будет отключен вывод на экран информации всех трех секций:

Если вы хотите увидеть информацию только из секции ANSWER SECTION, то выполните следующую команду:

использование команды dig с флагами +noall +answer

При необходимости получить такого рода информацию по нескольким доменам сразу, советуем создать специальный файл sites.txt в редакторе nano и занести туда доменные имена нужных сайтов, например:

Далее следует выполнить команду в терминале:

получение информации с помощью dig для нескольких доменов сразу

Теперь попробуем получить определенные типы записей DNS (A, MX, NS, TXT и т.д.), для этого выполняем команду dig, применяя следующие флаги, например, для типа записи «почтовый сервер»:

получение информации с помощью dig с флагом MX

Или же, если мы хотим получить ответ только для третьей секции утилиты dig:

использование команды dig с флагами для определения типа записи

использование команды dig с параметром @сервер.

Для решения обратной задачи — получения имени домена по IP-адресу, выполним команду dig с опцией -x:

команда dig с опцией -x

Попытаемся узнать, через какие DNS сервера идет запрос для получения информации о домене (команда трассировки в Linux):

использование команды dig с флагом +trace

Для вывода текущей версии утилиты dig воспользуемся опцией -v:

версия утилиты dig

Для проверки синхронизации зоны со всеми NS введем команду:

использование команды dig с флагом +nssearch

Команда nslookup

Эта команда также позволяет получить информацию по домену или по IP адресу. Основной синтаксис написания nslookup:

nslookup [опции] [доменное имя] [сервер]

где [сервер] — указывать необязательно.

Самый простой пример использования nslookup приведем ниже:

использование команды nslookup

Можем выполнить и обратную задачу — по IP адресу узнать доменное имя сайта.

пример использования команды nslookup

Ниже приведем основные опции команды nslookup:

  • type – записывается тип записи DNS (к примеру, NS, TXT, SOA и др.);
  • port – указывается номер порта;
  • recurse – в случае, когда DNS не отвечает, использовать другие DNS;
  • retry – задается количество попыток;
  • timeout – время;
  • fail – в случае, когда DNS возвращает ошибку, необходимо использовать другой сервер.

Приведем примеры команды, с использованием опции type (тип записи), например, для получения записей типа NS, MX, TXT, SOA и т.д.:

примеры команды nslookup с использованием опции type

Техническую информацию о домене можно получить в ответе, запустив команду nslookup с параметром для типа записи SOA:

  • origin — источник информации;
  • mail addr — указывает email address администратора домена;
  • serial — показывает время в формате timestamp;
  • refresh — выводит время в секундах, в течении которого нужно повторить подключения, чтобы обновить информацию;
  • retry — указывает время в секундах, через которое необходимо опять повторить подключения к DNS, в случае, если он недоступен;
  • expire — показывает интервал времени в секундах, через который нужно считать информацию, полученную от первого DNS, устаревшей;
  • minimum — это время в секундах, которое проходит до следующего обновления.

Команда whois

Whois — это сервис, который позволяет узнать всю информацию о владельце домена. В ОС Linux эту команду можно вводить прямо в терминале. В CentOS 7 данная служба не установлена «по умолчанию», поэтому необходимо ее установить:

установка whois в CentOS 7

команда whois freehost.com.ua

Для изучения всех параметров команды whois выполните:

команда man whois

Команда ping

Команда ping известна всем пользователям сети, которые сталкивались с проблемами с соединением. Ping служит для того, чтобы узнать, есть ли связь с удаленным узлом сети, используя протокол ICMP (Internet Control Message Protocol). Принцип действия утилиты простой: на удаленный хост передается пакет с данными ICMP, с целью получить пакет с ответом — если он приходит, то удаленный узел считается доступным.

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

ping [опции] [адрес удаленного узла]

На скриншотах ниже показаны простые примеры использования команды ping:

использование команды ping

пример использования команды ping

Команда ping может исполняться достаточно долго, для выхода из этого режима необходимо нажать комбинацию клавиш: ctrl+c.

Ниже приведем некоторые опции утилиты ping с примерами:

опция -с утилиты ping

опция -f утилиты ping

опция -i утилиты ping

опция -D утилиты ping

Команда host

Еще одна команда для работы с DNS — это host. Она предназначена для получения информации о доменном имени, например, чтобы по имени домена узнать IP адрес:

команда host

Данную команду можно использовать со следующими опциями, например:

  • -l — выводит на экран всю информацию о домене;
  • -v — выдает результаты в подробном формате;
  • -w — принуждает утилиту host ждать ответ;
  • -r — используется для выключения режима рекурсии (в этом случае DNS-сервер не обращается за информацией к другим DNS-серверам, используется только локальная база);
  • -d — необходимо для включения режима отладки;
  • -t querytype — определяет тип запроса (например, -t TXT — возвращает только тип записи TXT для домена);
  • -a — служит для восстановления всех записей в DNS.

Заключение

В данной статье мы рассказали нашим читателям, как работать с системой доменных имён (DNS) с помощью команд host, nslookup, dig, whois, ping. В нашем материале приведены практические задачи, которые может решать системный администратор или пользователь Linux в своей ежедневной работе, применяя эти утилиты.

Найти hostname из IP Linux

Советы и хитрости

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

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

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

Однако в этом руководстве я покажу вам различные способы, которые вы можете использовать для получения имени хоста, связанного с определенным IP-адресом. Методы, обсуждаемые в этом руководстве, будут работать почти во всех Linux и Unix-подобных системах.

Разобравшись с этим, давайте погрузимся.

Метод 1: Ping

Самый простой способ получить имя хоста с IP-адреса — использовать команду ping. Ping — это простая, но мощная утилита командной строки, которая использует пакеты ECHO для связи с хостом.

ПРИМЕЧАНИЕ. Следующая команда работает только на компьютерах с Windows. Для Linux проверьте следующий метод.

Чтобы получить имя хоста с IP-адреса с помощью команды ping, используйте команду ниже:

Вот результат выполнения вышеуказанной команды:

Вот результат выполнения вышеуказанной команды

Приведенная выше команда не всегда надежна; это часто работает только в том случае, если имя хоста доступно в файле hosts.

Метод 2: команда хоста

Второй и распространенный метод получения имени хоста из IP-адреса в Linux — это команда host. Этот простой инструмент является частью пакета dnsutil.

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