Использование nslookup. DNS и доменные имена

Подписаться
Вступай в сообщество «allcorp24.ru»!
ВКонтакте:

Утилита nslookup является самой эффективной из доступных утилит диагностики службы DNS. Немного практики, и использование этой утилиты для обнаружения проблем и их источников в работе службы DNS превратится в рефлекс.Утилита nslookup позволяет выполнять запросы к серверам DNS, имитируя последовательность действий, которая выполняется клиентским компьютером.

Для опроса серверов DNS эту команду можно запустить отдельно. Добавив одну из подкоманд, можно расширить функциональность утилиты. Основная команда nslookup имеет следующий синтаксис:

Nslookup [-<подкоманда>] [узел] [-<сервер имен>]

Предоставив утилите в качестве параметра имя узла, полностью определенное доменное имя или адрес IP, можно проверить способность системы выполнять преобразование имен. Часто перед установкой сетевых агентов для таких продуктов, как программное обеспечение для резервного копирования, хорошей идеей является проверка связи каждой системы с остальными системами в сети. Если служба DNS настроена неправильно, то это можно выяснить с помощью команды nslookup.

Предположим, что необходимо определить способность системы преобразовать имя butthead.cartoons.com в адрес IP. Для этого необходимо выполнить команду nslookup butthead.cartoons.com . Команда вернет имя и адрес IP сервера преобразования имен, к которому выполнялся запрос, а так же имя и адрес IP узла, который был указан в запросе (beavis). Такой тип проверки позволяет удостовериться в правильности конфигурации зоны прямого преобразования на сервере DNS.

Точно так же можно проверить зону обратного преобразования на сервере DNS. Для этого в качестве параметра вместо имени узла необходимо предоставить адрес IP узла. То есть, можно выполнить команду nslookup 10.5.10.82. И в этот раз команда вернет имя и адрес IP сервера DNS, к которому выполнялся запрос. Кроме этого, будет выдано имя и адрес IP узла, указанного в качестве параметра. При возврате записи отображается один из двух типов ответов сервера преобразования имен:

  • Авторитетный ответ - сервер DNS содержит у себя запись для этого узла ("У меня есть эта запись, держи!")
  • Неавторитетный ответ - сервер DNS получил информацию об этой записи от другого сервера DNS ("Мне пришлось спросить у другого, но, кажется, это правильная запись")

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

Ошибки nslookup

Сообщение об ошибке

Connection refused (В соединении отказано)

Невозможно установить соединение с сервером DNS. Эта ошибка распространена при использовании подкоманды ls в случае подключения к серверу, разрешающему передачу зоны только определенным серверам

Format error (Ошибка формата)

Сервер DNS обнаружил ошибку в пакете запроса команды nslookup. Запустите утилиту nslookup еще раз для повторного подключения к серверу DNS

Network is unreachable (Сеть недоступна)

Невозможно установить соединение с сервером DNS. Постарайтесь выяснить существование маршрутизации для сети сервера DNS, отправив тестовый эхо-пакет узлу в подсети сервера DNS

No records (Нет записей)

Для указанного с помощью подкоманды querytype (рассматривается далее) типа запроса не существует записей

No response from server (Нет ответа сервера)

На указанном (в параметрах команды или в свойствах протокола TCP/IP) узле не запущена служба DNS

Nonexistent domain (Несуществующий домен)

Невозможно найти записи о запрошенном доменном имени

Refused (Отказано)

Сервер преобразования имен ответил отказом на запрос утилиты nslookup. Эта ошибка широко распространена при использовании подкоманды ls, когда подключение осуществляется к серверу, настроенному на передачу зон только определенным серверам

Server failure (Отказ сервера)

Ошибка или нарушение целостности файла с данными зоны на сервере DNS. Восстановите файл данных зоны из более ранней резервной копии

Timed out (Превышение таймаута)

Сервер DNS не ответил в течение указанного промежутка времени и интервала повторного запроса (Retry Interval). По умолчанию таймаут равен 5 секундам. Интервал повтора равен 4. Это означает, что утилита будет ожидать ответа в течение 20 секунд перед тем, как выдать это сообщение об ошибке

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

Команды nslookup:

Отдельно остановимся на команде set. Она используется для настройки способа запроса и получения записей текущей командной оболочкой утилиты nslookup. Существует несколько подкоманд set, которые рассматриваются в следующих статьях.

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

nslookup [-option...] ]

Если в командной строке задать параметр host-to-find , то nslookup будет работать в неинтерактивном режиме и возвратит ответ на запрос примерно в том же виде, что и утилита host . Если аргументы не заданы или первый аргумент - дефис (- ), то nslookup будет работать в интерактивном режиме. При необходимости с помощью аргумента -server можно указать другой DNS-сервер, где server - IP-адрес запрашиваемого DNS-сервера. В противном случае nslookup будет по умолчанию обращаться к DNS-серверу, который задается в файле /etc/resolv.conf .

Параметры nslookup можно изменить тремя способами. Во-первых, можно задать параметры в командной строке вместе с командой nslookup . Во-вторых, можно указать их в интерактивной командной строке nslookup с помощью команды set . И в-третьих, можно создать в своем рабочем каталоге $HOME файл .nslookuprc и указать в нем желаемые параметры, по одному на строку. Список параметров, которые можно использовать с командой nslookup , приведен в табл. 4.6 .

Таблица 4.6. Параметры nslookup
Параметр Описание
all Выводит текущие значения параметров
class Устанавливает класс DNS (по умолчанию = IN )
debug Включает/выключает режим отладки (по умолчанию = nodebug )
d2 Включает/выключает режим полной отладки (по умолчанию = nod2 )
domain=name Устанавливает доменное имя по умолчанию name
srchlist=name1/name2.. . Изменяет домен по умолчанию на name1 и производит поиск по списку name1/name2.. .
defname Добавляет доменное имя по умолчанию к компоненту запроса
search Добавляет доменные имена в списке к имени хоста (по умолчанию = search )
port=value Изменяет номер порта TCP/UDP (по умолчанию = 53 )
querytype=value Изменяет тип запрашиваемой записи (по умолчанию = А )
type=value То же, что и querytype .
recurse Указывает серверу имен запросить другие серверы для получения ответа (по умолчанию = recurse )
retry=number Устанавливает число повторов запроса при неудачном ответе (по умолчанию = 4)
root=host Изменяет имя корневого сервера на хост с именем host (по умолчанию = ns.internic.net )
timeout=number Изменяет интервал времени ожидания ответа на значение, равное number (по умолчанию = 5 сек)
vc Всегда использовать виртуальную цепочку (по умолчанию = novc )
ignoretc Игнорировать ошибки при урезании пакета (по умолчанию = noignoretc )

В листинге 4.6 показан пример сеанса nslookup , во время которого запрашивается информация о хосте www.linux.org . На запрос с установленными по умолчанию параметрами для указанного имени просто возвращается соответствующий ему IP-адрес. В нашем примере демонстрируется изменение параметров с целью поиска почтовых серверов для данного домена.

1 $ nslookup 2 Default Server: ns1.isp.net 3 Address: 10.0.0.1 4 5 > www.linux.org 6 Server: ns1.isp.net 7 Address: 10.0.0.1 8 9 Non-authoritative answer: 10 Name: www.linux.org 11 Address: 198.182.196.56 12 13 > set type=MX 14 > www.linux.org 15 Server: ns1.isp.net 16 Address: 10.0.0.1 17 18 Non-authoritative answer: 19 www.linux.org preference =20, mail exchanger = router.invlogic.com 20 www.linux.org preference =30, mail exchanger = border-ai.invlogic.com 21 www.linux.org preference = 10, mail exchanger = mail.linux.org 22 23 Authoritative answers can be found from: 24 linux.org nameserver = NS0.AITCOM.NET 25 linux.org nameserver = NS. invlogic. com 26 router.invlogic.com internet address = 198.182.196.1 27 border-ai.invlogic.com internet address = 205.134.175.254 28 mail.linux.org internet address = 198.182.196.60 29 NS0.AITCOM.NET internet address = 208.234.1.34 30 NS.invlogic.com internet address = 205.134.175.254 31 > exit 32 $ Листинг 4.6. Пример сеанса nslookup

В строке 5 формируется запрос для хоста с именем www.linux.org . В строках 6 и 7 показан DNS-сервер, который обрабатывает данный запрос, а в строках 9–11 отображается, что сервер выдает неавторитетный ответ об IP-адресе. Очевидно, что кто-то уже обращался к этому же хосту и его IP-адрес хранился в кэше локального DNS-сервера. В строке 13 устанавливается параметр, с помощью которого запрашивается информация о почтовых серверах для данного домена. В строках 18–30 отображается информация, полученная от DNS-сервера. Строки 18–21 являются по сути разделом ответа пакета DNS, который сигнализирует о том, что ответ не является авторитетным, и далее показывает три почтовых сервера, ответственных за доставку электронной почты на хост www.linux.org . В строках 23–30 показан авторитетный ответ и дополнительная информация из пакета DNS. Так, строки 23–25 показывают два авторитетных DNS-сервера для домена linux.org , в которых содержаться исходные записи о www.linux.org . В строках 26–30 отображается дополнительная информация об IP-адресах хостов, содержащихся в ответах. Этот пример можно немного расширить, установив в качестве DNS-сервера по умолчанию один из авторитетных серверов (с помощью команды server ) и запросив еще раз информацию об МХ записях. Теперь сравните, отличается ли полученная информация от той же, но выданной неавторитетным DNS-сервером.

Предоставляет сведения , предназначенные для диагностики инфраструктуры DNS. Для использования этого средства необходимо быть знакомым с принципами работы системы DNS.
Синтаксис : nslookup [-подкоманда …] [{искомый_компьютер| [-сервер]}]
Параметры
-подкоманда …
Задает одну или несколько подкоманд nslookup как параметры ко-мандной строки.
искомый_компьютер
Ищет данные для параметра искомый_компьютер, используя текущий, заданный по умолчанию сервер имен DNS, если никакого другого сервера не указано.
-сервер
Указывает, что данный сервер следует использовать в качестве сервера имен DNS. Если параметр -сервер не указан, используется сервер DNS, заданный по умолчанию.
{help|?}
Выводит краткое описание подкоманд nslookup.
Подкоманды:
exit — осуществляет выход из nslookup.
finger — осуществляет подключение к серверу finger на текущем компьютере.
ls — выводит сведения для домена DNS.
help – выводит краткое описание подкоманд.
lserver — производит изменение сервера, используемого по умолча-нию для заданного домена DNS.
root — производит замену сервера, используемого по умолчанию, на корневой сервер пространства имен DNS.
server — gроизводит замену сервера, используемого по умолчанию, для заданного домена DNS.
set — изменяет настройки, которые определяют работу функций lookup.
set all — выводит текущие значения параметров настройки.
set class — изменяет класс запроса. Класс запроса определяет группу протоколов с информацией.
set d2 — включает и отключает углубленный режим отладки. В этом режиме будут выводиться все поля каждого пакета.
set debug — включает и отключает режим отладки.
set defname — добавляет имя домена DNS, используемого по умолчанию, к запросу поиска одиночного компонента. Одиночным называется компонент, не содержащий точек.
set domain — производит замену имени сервера DNS, используемого по умолчанию, на указанное имя.
set ignore — игнорирует ошибки усечения пакетов.
set port — производит изменение порта TCP/UDP сервера имен DNS, используемого по умолчанию, на указанное значение.
set querytype -изменяет тип записи ресурса для запроса.
set requrse — указывает серверу имен DNS, что необходимо отправить запрос другим серверам в случае, если он сам не располагает требуемой информацией.
set retry — устанавливает число повторных попыток.
set root — производит замену имени корневого сервера, используемо-го для запросов.
set search — Присоединяет имена доменов DNS из списка поиска доменов DNS в запрос, пока не будет получен ответ. Это применяется, когда запросы set и lookup содержат по крайней мере одну точку, но содержат завершающей точки.
set srchlist — производит изменение используемого по умолчанию имени домена DNS и списка поиска.
set timeout — изменяет начальный период времени в секундах, в те-чение которого система будет ожидать ответа на запрос.
set type — изменяет тип записи ресурса для запроса.
set vc — указывает, использовать или нет виртуальную цепь при оп-равке запросов серверу.
view — сортирует и перечисляет вывод предыдущих подкоманд и команд ls.

Nslookup – отображает информацию, которую вы можете использовать для диагностики инфраструктуры доменных имен (). Перед использованием этого инструмента вы должны быть знакомы с тем, как работает DNS. Инструмент командной строки nslookup доступен, только если вы установили протокол TCP / IP.

PowerShell

nslookup [<-SubCommand ...>] [{ | -}] nslookup /exit nslookup /finger [] [{[>] |[>>] }] nslookup /{help | ?} nslookup /ls [

nslookup [ < -SubCommand . . . > ] [ { < computerTofind > | - < Server > } ]

nslookup / exit

nslookup / finger [ < UserName > ] [ { [ > ] < FileName > | [ >> ] < FileName > } ]

nslookup / { help | ? }

nslookup / ls [ < Option > ] < DNSDomain > [ { [ > ] < FileName > | [ >> ] < FileName > } ]

nslookup / lserver < DNSDomain >

nslookup / root

nslookup / server < DNSDomain >

nslookup / set < KeyWord > [ = < Value > ]

nslookup / set all

nslookup / set class = < Class >

nslookup / set [ no ] d2

nslookup / set [ no ] debug

nslookup / set [ no ] defname

nslookup / set domain = < DomainName >

nslookup / set [ no ] ignore

nslookup / set port = < Port >

nslookup / set querytype = < ResourceRecordtype >

nslookup / set [ no ] recurse

nslookup / set retry = < Number >

nslookup / set root = < RootServer >

nslookup / set [ no ] search

nslookup / set srchlist = < DomainName > [ / . . . ]

nslookup / set timeout = < Number >

nslookup / set type = < ResourceRecordtype >

nslookup / set [ no ] vc

nslookup / view < FileName >

Параметры

Команда Синтаксис Описание
nslookup exit /exit Выход из утилиты.
nslookup finger finger [] [{[>] |[>>] }] Соединение с finger сервером на текущем ПК.
nslookup help /help Выводит краткий список доступных подкоманд nslookup.
nslookup ls ls [Выводит информацию о домене.
nslookup lserver lserver Меняет стандартный сервер для заданного домена DNS.
nslookup root root Меняет стандартный сервер, на корневой сервер DNS.
nslookup server server Меняет стандартный сервер имён, на выбранный вами.
nslookup set set [=]
Изменение стандартной конфигурации утилиты nslookup.
nslookup set all set all Выводит параметры текущей конфигурации.
nslookup set class set class= Меняет класс запроса. Класс указывает группу протоколов информации.
nslookup set d2 set d2
Включает или выключает глубокий режим отладки. В режиме отладки выводятся данные о каждого пакета.
nslookup set debug set debug
Включает или выключает режим отладки.
nslookup set defname set defname Добавляет используемый по умолчанию домен DNS, к запросу на поиск одиночного компонента. Компонент называется одиночным, если не содержит точек.
nslookup set domain set domain= Изменяет имя домена по умолчанию (DNS) на указанное имя.
nslookup set ignore set ignore Игнорировать ошибки с неполными пакетами.
nslookup set port set port= Изменяет стандартный TCP/UDP порт сервера DNS на указанный.
nslookup set querytype set querytype=
nslookup set recurse set recurse
Указывает DNS серверу по умолчанию, опросить другие сервера в сети, если у него нет необходимой информации.
nslookup set retry set retry=
Указать число необходимых повторов запроса.
nslookup set root set root=
Изменяет адрес коренного сервера.
nslookup set search set search Добавляет имена доменов DNS из списка поиска доменов DNS в запрос, до тех пор пока не будет получен ответ. Данный метод используется в тех случаях, когда set и lookup содержат хотя-бы одну точку, но не содержат завершающей точки.
nslookup set srchlist Set srchlist=
Изменяет стандартное имя домена DNS и список поиска.
nslookup set timeout set timeout=
Изменяет таймаут ожидания ответа в секундах.
nslookup set type set type= Изменяет тип записи ресурса для запроса.
nslookup set vc set vc Указывает использовать или не использовать виртуальную цепь при отправке запросов на сервер.
nslookup view view Вывод и сортировка данных, полученных ранее при помощи команды ls.

Примечания

  • Если computerTofind является IP-адресом, а запрос хочет получить A или PTR запись, возвращается имя компьютера. Если computerTofind является именем и у него нет точки в конце, к имени добавляется имя домена DNS по умолчанию. Это зависит от состояния следующих заданных подкоманд: domain, srchlist, defname и search.
  • Если вы используете дефис (-) вместо computerTofind , утилита nslookup перейдёт в интерактивный режим.
  • Длина строки не может превышать 256 символов.
  • nslookup имеет два режима: интерактивный и неинтерактивный. Если вы собираетесь воспользоваться утилитой единожды – используйте неинтерактивный режим. Первым параметром введите имя или IP-адрес компьютера, который вы хотите найти, а вторым параметром введите имя или IP-адрес сервера DNS-имен. Если вы опустите второй аргумент, nslookup использует по умолчанию.
    Если вам нужно использовать утилиту несколько раз, вы можете войти в интерактивный режим. Для этого введите дефис (-) для первого параметра и имя или IP-адрес сервера имен DNS для второго параметра. Или опустите оба параметра, и nslookup использует DNS-сервер по умолчанию.
    Ниже приведены некоторые советы о работе в интерактивном режиме:
    • Чтобы прервать линию интерактивных команд в любое время, нажмите CTRL + B.
    • Чтобы выйти, введите exit.
    • Чтобы обработать встроенную команду в качестве имени компьютера, перед ним следует использовать escape-символ (\).
    • Неопознанная команда интерпретируется как имя компьютера.
  • Если поиск не сработал, утилита nslookup выдаст сообщение об ошибке. В следующей таблице перечислены возможные сообщения об ошибках .

Компьютеры, как люди, сначала сами по себе, потом в системе. Безусловно, это человек создает компьютерную систему (сеть), но сквозь поколения специалистов эта система (сеть) «сама управляет» процессом своего развития. Это вытекает из фактического развития интернет-пространства и роли, которую играет в нем иерархия DNS-имен.

Команда NSLookUp: описание возможностей, результат пути отдельно взятого компьютера в интернет-пространство, специалистов в мир создания инструментов распределенной обработки информации, а пользователей - в понимание того, как все устроено на самом деле.

История начала: простые сети

Мир Интернета образовался «сам по себе», хотя нельзя отрицать существенную роль, как отдельных специалистов, так и квалифицированных команд разработчиков. Но когда количество переходит в качество, роли часто меняются. Компьютер до сих пор не обрел интеллект, а тема искусственного интеллекта давно стала привычно неинтересной: уже давно человек не является единственным и основным символом и двигателем прогресса.

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

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

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

Распределенные сети

Еще с момента рождения сети быстро изменили лицо информационной сферы, но до программирования было еще далеко. Эффектные и практичные сетевые примеры стали нормой, но это еще был не интернет, это еще не было интернет-программирование.

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

Автоматизация процесса производства чего-либо, соединяющая в единое целое множество участков, процессов, поставщиков, потребителей также было важным и нужным, но «минутным» достижением.

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

NSLookUp - итог начала или путь идеи сети

Надо отдать должное Windows , ей принадлежит знатная роль в информационной сфере. Но не гарантия, что именно здесь появилась незаметная NSLookUp. Идея хороша и семейству юниксоидов можно декларировать свой вклад в ее рождение. Команды для работы в сети нужны, но подавляющее их большинство невидимо, хотя и очень значимо. NSLookUp появилась в Windows NT и в аналогичных системах, а также на других платформах. Теперь она востребована всегда и везде.

Можно не вдаваться в перипетии развития сетевых идей, но знать, что NSLookUp-команды позволяют быстро и точно идентифицировать проблему в сети, это будет полезно даже простому пользователю.

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

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

Символы и их идентификация

То, что является уделом работы администраторов и разработчиков, NSLookUp-команды предоставляют рядовому пользователю в простом и доступном виде. Уделив совсем немного времени изучению параметров, опций и правил использования этого инструмента, пользователь получит точное представление о том, что такое домен, DNS, IP, A, AAAA, Refresh, TTL и пр. Все эти символы и термины появились в свое время, несут конкретный смысл, и когда происходит что-то не так, даже можно не прибегать к квалифицированной помощи, когда в арсенале есть практика применения NSLookUp-команды.

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

Применение NSLookUp

Обычно NSLookUp-команда (примеры из практики) применяется по какому-то одному правилу: nslookup-type=any-timeout=8 vk.com 208.67.220.220, и в выдаче будет исчерпывающая информация о сайте "ВКонтакте", но искушенному пользователю ничто не мешает исследовать все параметры команды или подобрать свой вариант и свою стандартную форму для применения на практике.

← Вернуться

×
Вступай в сообщество «allcorp24.ru»!
ВКонтакте:
Я уже подписан на сообщество «allcorp24.ru»