nslookup – одна из популярных сетевых команд в Linux, используемая для запроса записей системы доменных имен (DNS) . Неудивительно, что nslookup означает поиск по имени сервера.
Вы можете использовать nslookup для запроса DNS и получения такой информации, как IP-адрес веб-сайта, сервера имен, доменного имени и т. д.
Позвольте нам показать вам несколько примеров команды nslookup.
В простейшем виде, без параметров, nslookup возвращает имя домена и IP-адрес (как IPv4, так и IPv6). Одним из наиболее популярных способов использования nslookup является получение IP-адреса веб-сайта в Linux с помощью этого метода.
nslookup <URL>
Вот пример вывода:
nslookup andreyex.ru Server: 188.120.247.2 Address: 188.120.247.2#53 Non-authoritative answer: Name: andreyex.ru Address: 213.159.210.167
Адрес 188.120.247.2 в приведенном выше выводе команды – это DNS нашей системы, установленный systemd. В некоторых случаях это может быть 8.8.8.8 и т. д.
Что такое Non-authoritative answer?
В выводе команды nslookup вы часто будете замечать «Non-authoritative answer». Это означает, что вы получили ответ на свой DNS-запрос для неавторизованного источника.
Это потому, что когда вы используете nslookup, ответ приходит не напрямую с сервера имен сервера, к которому вы обращаетесь. В основном это происходит от сервера имен вашего интернет-провайдера.
Вы также можете отобразить только серверы имен, связанные с доменом, с помощью nslookup. Эти серверы имен хранят различные записи, связанные с DNS. Обычно в домене имеется несколько серверов имен для целей резервного копирования.
Для отображения только серверов имен все, что вам нужно сделать, это указать тип вашего запроса nslookup:
nslookup -type=ns <URL>
Пример вывода для веб-сайта AndreyEx:
Server: 188.120.247.2 Address: 188.120.247.2#53 Non-authoritative answer: andreyex.ru nameserver = dns2.yandex.net. andreyex.ru nameserver = dns1.yandex.net. Authoritative answers can be found from:
MX записи в DNS определяют настройки почтового сервера для доменного имени. Это определяет, какой почтовый сервер обрабатывает электронную почту для данного домена.
nslookup -type=mx <URL>
Пример вывода может быть таким:
nslookup -type=mx andreyex.ru Server: 188.120.247.2 Address: 188.120.247.2#53 Non-authoritative answer: andreyex.ru mail exchanger = 10 mx.yandex.net. Authoritative answers can be found from:
Обратите внимание, что иногда параметры почтового сервера не определяются, и в этих случаях mx-запрос с помощью nslookup может возвращать такой результат:
nslookup -type=mx andreyex.ru Server: 188.120.247.2 Address: 188.120.247.2#53 Non-authoritative answer: andreyex.ru mail exchanger = 10 mx.yandex.net. Authoritative answers can be found from:
Вы можете запросить и отобразить запись SOA (Start of Authority) с помощью nslookup, указав тип запроса:
nslookup -type=soa <URL>
Пример вывода будет выглядеть так:
nslookup -type=soa andreyex.ru Server: 188.120.247.2 Address: 188.120.247.2#53 Non-authoritative answer: andreyex.ru origin = dns1.yandex.net mail addr = dns-hosting.yandex.ru serial = 2 refresh = 900 retry = 90 expire = 86400 minimum = 900 Authoritative answers can be found from:
Вы можете отобразить все вышеуказанные записи (которые установлены) в одной команде, используя любую опцию.
nslookup -type=any <URL>
И вы увидите консолидированный вывод всех вышеперечисленных команд:
nslookup -type=any andreyex.ru Server: 188.120.247.2 Address: 188.120.247.2#53 Non-authoritative answer: andreyex.ru nameserver = dns1.yandex.net. andreyex.ru mail exchanger = 10 mx.yandex.net. andreyex.ru origin = dns1.yandex.net mail addr = dns-hosting.yandex.ru serial = 2 refresh = 900 retry = 90 expire = 86400 minimum = 900 andreyex.ru nameserver = dns2.yandex.net. Name: andreyex.ru Address: 213.159.210.167 Authoritative answers can be found from:
Итак, вы запросили DNS для определенного домена и получили его IP-адрес. Вы можете выполнить обратный поиск DNS и найти доменное имя, связанное с IP-адресом.
nslookup <IP_ADDRESS>
Например, если мы выполним обратный поиск DNS с помощью nslookup на сервере AndreyEx, мы получим ответ:
nslookup 213.159.210.167 Server: 188.120.247.2 Address: 188.120.247.2#53 Non-authoritative answer: 167.210.159.213.in-addr.arpa name = andreyex.ru. Authoritative answers can be found from:
DNS-серверы используют протокол TCP и, таким образом, порт 53 используется по умолчанию. Если DNS-сервер использовал какой-то другой порт, вы можете указать порт в своем запросе с помощью nslookup:
nslookup -port=<Port_Number> <URL>
Мы думаем, что вам достаточно материала, чтобы знать, как использовать команду nslookup в Linux. Если у вас есть вопросы или предложения, не стесняйтесь оставлять комментарии ниже.