How to get a hostname/domain name from an IP address in Linux
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.
10 часто используемых команд nslookup
Привет, мир! Рассказываем про 10 самых часто используемых команд nslookup.

Что такое nslookup?
Давайте для начала определимся, что такое nslookup. Это мощная сетевая утилита командной строки, доступная для большинства популярных ОС. Она используется для запросов в систему доменных имён (DNS) с целью выявления имен или IP-адресов, а также других специфических DNS записей.
1. Выявление A записи для домена
A запись домена – это сопоставление доменного имени IP-адресу ресурса. Именно благодаря этому типу записи, когда вы набираете merionet.ru переходите на страницу нашего сайта. Чтобы определить IP-адрес ресурса (это может быть компьютер в вашей сети или же любой сайт в Интернете) нужно ввести следующую команду:
2. Определение NS-записей домена
Когда вы набираете в адресной строке браузера адрес сайта, то компьютер обращается к DNS серверу, указанному в настройках сетевого интерфейса. А тот в свою очередь к более NS серверам, где хранятся записи о том, какой IP-адрес соответствует данному доменному имени. Утилита nslookup позволяет определять, какие NS –сервера использует тот или иной хост (сайт). Команда выглядит следующим образом:
3. Определение SOA записи узла
SOA-запись (Start of Authority) — начальная запись зоны, которая указывает местоположение эталонной записи о домене. Она содержит в себе контактную информацию лица, ответственного за данную зону, время кэширования информации на серверах и данные о взаимодействии DNS. SOA-запись создается автоматически. Для определения SOA записи используется команда:
4. Как найти MX-запись хоста
Электронная почта сегодня используется повсеместно. Чтобы отправлять и получать электронные письма хост используется тип записи MX. В каждой MX-записи хранятся два поля:
- имя почтового сервера, который обслуживает домен
- порядковый номер, по которому определяется какой сервер первым будет обрабатывать запросы клиентов
Для определения MX-записей хоста используется команда:
5. Определение всех типов DNS-записей
По умолчанию, команда nslookup отображает соответствие IP-адреса доменному имени. Но можно заставить утилиту вернуть все возможные записи для указанного хоста:
6. Явное указание DNS-сервера
Утилита nslookup при сопоставлении имён, по умолчанию обращается к DNS-серверу, который установлен в настройках сетевой карты. Но утилите можно передать название или IP-адрес, который хотим использовать для сопоставления имён.
Как видно из скриншота, ответ нам вернул уже сервер Яндекса.
7. Обратный DNS lookup
Обычно утилита nslookup используется для определения IP-адреса переданного хоста. Но что если IP-адрес уже есть, но нужно найти доменное имя? И здесь можно использовать nslookup передав в качестве значения IP-адрес узла.
8. Изменение номера порта для запроса
По умолчанию, для запросов DNS использует 53 (UDP) порт. Но это поведение тоже можно изменить, хотя особого необходимости в этом нет.
9. Изменение интервала ожидания
Бывают случаи, особенно при слабых Интернет соединениях, что ответа от сервера приходится ждать долго. По умолчанию, если ответ не приходит в течении 5 секунд, то запрос повторяется, увеличив время ожидания в два раза. Но можно вручную задать это значение в секундах:
Отработку этой команды увидеть сложно, но она может быть эффективна при соединениях с низкой скоростью.
10. Включение режима отладки
Режим отладки позволяет получать более детальную информацию об узле. Для этого используется команда:
Заключение
Когда утилита nslookup возвращает ответ, там указывается с какого сервера вернулся ответ. Эти сервера бывают authoritative и non-authoritative answer.
Использвание команды Nslookup для проверки DNS серверов и записей доменов
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 в неинтерактивном режиме, откройте командную строку и выполните команду:

В данном примере мы запросили 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 наберите команду exit и нажмите Enter.
Чтобы найти DNS сервера, которые отвечают за конкретный домен (authoritative servers), выполните команды:

Вы можете выполнить и обратное преобразование (получить 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) позволяет получить дополнительную информацию, содержащуюся в заголовках запросов клиента и ответов сервера (время жизни, флаги, типы записей и т.п.):
Какой командой можно по ip-адресу получить имя домена? Типа hostname -d и dnsdomainname, но чтобы для любого адреса
— компьютер с ОС Windows;
— подключение к сети;
— установленная поддержка нужных протоколов.
Инструкция
1
Для получения информации о состоянии сети используется команда ping. Она определяет работоспособность сети и время, затраченное на передачу пакетов по маршруту клиент-сервер и сервер-клиент. При использовании параметра –a новые версии команды определяет имя компьютера по IP.
2
Из меню «Пуск» выбирайте пункт «Выполнить» и введите cmd в строку поиска. В командном окне наберите ping –a 10.0.0.20, где 10.0.0.20 – условный IP удаленного компьютера в локальной сети. Система выведет данные об узле, в том числе, его имя.
3
Если ваша версия ping не поддерживает эту функцию, используйте nbtstat с параметром -а. Эта команда возвращает таблицу имен NetBIOS удаленного узла. Необходимое условие — поддержка компьютером протокола NetBIOS. Вызывайте командную строку с помощью cmd и введите nbtstat –a 10.0.0.20.
4
Имя компьютера в локальной сети можно определить с помощью команды NSLookup, если на нем установлен протокол TCP/IP, а в параметрах протокола указан хотя бы один DNS-сервер. Команда диагностирует работу DNS и выводит сведения об его инфраструктуре.
5
В командной строке наберите NSLookup 10.0.0.20. Команда возвращает имя и IP сервера данной сети, имя и IP удаленного компьютера. Возможен обратный поиск: если ввести имя компьютера, команда выведет его IP-адрес.
6
Можно использовать команду tracert. Она отслеживает маршрут следования пакетов данных в сетях TCP/IP и, следовательно, будет работать только на том компьютере, на котором установлен этот протокол. В командную строку введите tracert 10.0.0.20. В качестве конечного пункта будет указано имя удаленного узла. В unix-подобных сетях для этих целей используется команда traceroute.
7
Для определения параметров локальной сети используются специальные программы-сканеры. В зависимости от сложности, они собирают информацию о хостах сети, анализируют трафик и тестируют ее работу. Правда, если ваш компьютер находится в офисной сети, администратор вряд ли одобрит действия по сбору подобной информации.