- Команда dig в Linux
- Синтаксис команды dig
- Опции и флаги dig
- Примеры использования dig
- 1. Получение информации о домене
- 2. Получение определённой записи
- 3. Использование определённого DNS-сервера
- 4. Получение домена по IP
- Выводы
- Имя домена linux команда
- Примеры использования
- Вывод имени узла системы
- Вывод основного доменного имени системы
- Вывод основного IP-адреса системы
- Временное изменение имени узла системы
- Изменение имени узла системы на постоянной основе
- How to get a hostname/domain name from an IP address in Linux
- Prerequisites
- Perform DNS Reverse lookup using dig command
- Perform DNS Reverse lookup using nslookup command
- Perform DNS Reverse lookup using the host command
- Conclusion
- About the author
- Karim Buzdar
Команда dig в Linux
Команда 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 — предотвращает чтение настроек из файла ~/.digrc;
- -t — позволяет указать тип записи, которую надо получить;
- -p — позволяет указать номер порта DNS сервера;
- -u — отображает время в секундах вместо миллисекунд.
Здесь указаны лишь некоторые флаги и опции. Если необходимо узнать больше, используйте команду:
Примеры использования dig
1. Получение информации о домене
Для того чтобы получить информацию о домене необходимо передать имя домена команде. Например, для google.com:
Рассмотрим каждую секцию вывода подробнее:
- HEADER — отображает информацию о версии утилиты, ID запроса, полученных ошибках и использованных флагах вывода. Выводится и другая важная информация о количестве запросов, обращений к DNS-серверу и т. д.;
- QUESTION SECTION — секция, которая отображает текущий запрос;
- ANSWER SECTION — секция, в которой отображается результат обработки созданного запроса (в данном случае это IP-адрес домена).
По умолчанию утилита выводит много лишней информации. Для получения только основных данных используйте запрос с флагом +short. Например:
Если использовать команду dig вместе с +noall, вы ничего не увидите, поскольку этот флаг отключает вывод всех секций.
Если вместе с флагом +noall использовать флаг +answer, dig выведет только ту информацию, которая есть в секции ANSWER (IP-адрес, тип записи и пр.).
dig доменное.имя +noall +answer
Для создания комбинированного запроса можно использовать текстовый файл со списком сайтов, например, sites.txt. Чтобы создать текстовый документ с таким именем, введите следующую команду в терминале:
В файл необходимо добавить список доменов, для которых необходимо получить данные, например:
Для того чтобы получить информацию о перечисленных в файле sites.txt доменах, используйте команду:
dig -f sites.txt +noall +answer
2. Получение определённой записи
Согласно синтаксису команды dig linux, тип записи указывается после доменного имени. Для того чтобы получить MX-запись домена google.com, используйте команду:
dig google.com MX +noall +answer
Чтобы получить NS-запись для домена, введите в терминале такую команду:
dig google.com NS +noall +answer
Запрос записи A происходит по умолчанию. Однако мы можем прописать этот запрос отдельно, чтобы обеспечить её вывод без дополнительной информации:
dig google.com A +noall +answer
Для вывода записи TXT аналогичным образом используйте команду вида:
dig google.com TXT +noall +answer
Для просмотра всех типов записей одновременно используйте запрос вида:
dig google.com ANY +noall +answer
3. Использование определённого DNS-сервера
Если DNS-сервер не был указан, как это было показано в предыдущих примерах, утилита dig linux будет по очереди пробовать все серверы из файла /etc/resolv.conf. Если же и там ничего нет, dig отправит запрос на localhost.
Указывать DNS-серверы можно в формате IPv4 или IPv6. Это не имеет значения и не повлияет на вывод dig. Отправим запрос на публичный DNS-сервер Google. Его IP-адрес: 8.8.8.8. В этом случае запрос в dig будет выглядеть следующим образом:
dig @8.8.8.8 google.com +noall +answer
Как видно, для домена google.com используется IP-адрес: 142.250.75.14.
4. Получение домена по IP
Для того чтобы узнать имя домена с помощью команды dig по IP, используйте опцию -x. Например, для того, чтобы узнать домен, привязанный к IP адресу 87.250.250.242 выполните такую команду:
Как видите, это IP адрес яндекса. Правда такой способ получения доменов работает не всегда. Если к IP привязано несколько доменов программа может вывести только первый. Для того чтобы сократить вывод и оставить только нужную нам информацию, можно ввести запрос следующим образом:
Команда отображает информацию о том, что это google.com. Как видите команда dig Linux способна на многое.
Выводы
В этой небольшой статье мы рассмотрели, как можно использовать dig для опроса DNS-серверов. Несмотря на то что команда достаточно простая, она позволяет получить много полезной информации. А чем вы пользуетесь для обращения к серверам DNS? Напишите об этом в комментариях ниже.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Имя домена linux команда
Команда hostname предназначена для вызова одноименной утилиты, осуществляющей вывод и изменение имени узла, ассоциированного с системой. Имя узла является частью доменного имени системы, предназначенного для ее уникальной идентификации в рамках локальной сети без необходимости использования IP-адресов.
Базовый синтаксис команды выглядит следующим образом:
$ hostname [параметры] [новое-имя-узла]
Утилита позволяет вывести список всех IP-адресов системы с помощью параметра -I, вывести список всех доменных имен системы с помощью параметра -A, вывести основной IP-адрес системы с помощью параметра -i, вывести основное доменное имя системы с помощью параметра -f, а также вывести и задать имя узла.
Установка имени узла осуществляется на временной основе, до следующей перезагрузки системы. Для того, чтобы изменить имя узла системы на постоянной основе, следует отредактировать содержимое системных файлов конфигурации /etc/hostname и /etc/hosts.
Примеры использования
Вывод имени узла системы
Для вывода имени узла системы следует использовать команду hostname без каких-либо параметров:
Обычно имя узла не содержит имени домена, записываемого после символа точки.
Вывод основного доменного имени системы
Для вывода основного доменного имени системы следует использовать параметр -f команды hostname:
Очевидно, что доменное имя системы очень похоже на доменные имена обычных веб-сайтов, а имя узла — это то, что расположено до символа точки.
Вывод основного IP-адреса системы
Для вывода основного IP-адреса системы следует использовать параметр -i команды hostname:
Временное изменение имени узла системы
Для временного изменения имени узла системы достаточно использовать утилиту hostname без каких-либо параметров. Для этого также понадобятся привилегии суперпользователя:
$ hostname aaliyah
hostname: you must be root to change the host name
$ sudo hostname aaliyah
[sudo] пароль для alex:
$ hostname
aaliyah
Очевидно, что с помощью данной команды можно сменить имя узла на любое произвольное имя. Обратите внимание на то, что приветствие командной оболочки, содержащее имя узла, изменится лишь после ее перезапуска.
Изменение имени узла системы на постоянной основе
Хотя данный вопрос не относится напрямую к команде hostname не помешает рассмотреть и его. Так, для изменения имени узла системы на постоянной основе следует открыть в любом текстовом редакторе системный файл конфигурации /etc/hostname и отредактировать его первую строку. Например в случае использования текстового редактора gedit следует воспользоваться следующей командой:
Далее нужно ввести свой пароль два раза, отредактировать имя узла и сохранить изменения. В моем случае имя узла расположено в первой и единственной строке файла:
В вашем случае формат файла наверняка не будет отличаться.
После этого нужно снова воспользоваться текстовым редактором для редактирования системного файла конфигурации /etc/hosts:
В этом случае вам также придется два раза ввести свой пароль, отредактировать имя узла и имя домена системы и сохранить изменения. В моем случае эти имена расположены во второй строке файла:
127.0.0.1 localhost
127.0.1.1 layla.lan layla
Уверен, в вашем случае их поиск не будет представлять каких-либо сложностей.
How to get a hostname/domain name from an IP address in Linux
One of the questions that many Linux users ask is how they can retrieve a system’s hostname using its IP address. It may seem an uphill task, but in the real sense, it’s quite easy. Essentially, this is known as the reverse DNS lookup. Reverse DNS lookup queries an IP address to retrieve the hostname or domain of the server. The exact opposite is the Forward DNS lookup which maps the domain name to the IP address.
In this short guide, we have explored a few ways to performs Reverse DNS lookup and get a domain name from an IP address. For demonstration purposes, I have used Ubuntu 20.04.
Prerequisites
Before you roll up your sleeves, ensure that your remote host has an A record which is a DNS entry that points or maps a domain name to an IP address
Perform DNS Reverse lookup using dig command
Dig command is a flexible and powerful tool that is used for querying or probing DNS records. It’s an acronym for domain information groper and allows you to retrieve a wide array of DNS information such as A, CNAME, MX, and SOA records.
Perform DNS Reverse lookup using nslookup command
A nslookup command is a troubleshooting tool that features highly in a sysadmin’s armory. It’s a versatile tool that performs all DNS record querying such as CNAME, A, MX, and reverses or PTR records.
To retrieve a domain name from an IP address, use the command syntax:
Perform DNS Reverse lookup using the host command
Similarly, you can use the host command to obtain a hostname or domain name from an IP address using the syntax as shown.
For example, to check the domain name for the IP 5.9.235.235, execute the command:
Just like the Nslookup command, you can also use the host command with hostnames or IP addresses.
Conclusion
The few examples that we have just elaborated are a sure way of helping you obtain the domain name from an IP address. Usually, the reverse DNS lookup is trivial and not as crucial as the forward lookup, which maps domain names to IP addresses. Your feedback or contribution will be highly welcomed.
About the author
Karim Buzdar
Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications. As an IT engineer and technical author, he writes for various web sites. He blogs at LinuxWays.