Nslookup все записи. Команда nslookup, назначение, параметры, подкоманды

Может возникнуть необходимость проверить работоспособность DNS, посмотреть как быстро работает сервер, увидеть IP адрес и скорость его получения для определенного домена. Для этого cсуществует отличная утилита nslookup. С помощью которой Вы можете получить IP адрес по домену, выполнить обратное преобразование, а также проверить установлены все необходимые записи DNS.

КАК РАБОТАЕТ DNS?

Служба DNS позволяет преобразовывать сложные для запоминания ip адреса в простые и легкие доменные имена, которые намного проще запомнить. Если не вдаваться в подробности, то существует сеть DNS серверов, на которых хранится вся необходимая информация об IP адресах и соответствующих им доменах. Время от времени они обмениваются между собой информацией, чтобы база данных была полной и актуальной.

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

КОМАНДА NSLOOKUP

$ sudo nslookup опции домен сервер

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

  • -type - тип информации, которую хотим получить, возможные типы: txt, soa, ptr, ns, mx, mr, minfo, mg, mb, hinfo, gid, cname, a, any;
  • -port - другой порт DNS сервера;
  • -(no)recurse - использоваться другие DNS серверы, если на этом нет ответа;
  • -retry - количество попыток получить нужную информацию;
  • -timeout - время между попытками запросов к серверу;
  • -fail - пробовать другой сервер имен, если этот вернул ошибку.

Самое интересное, что команду можно выполнять не только в обычном, но и в интерактивном режиме, если запустить ее без параметров. А теперь перейдем ближе к самим примерам как работает команда nslookup linux.

КАК ПОЛЬЗОВАТЬСЯ NSLOOKUP?

Посмотрим ip адрес для сайт.

@ns:~$ nslookup сайт

В выводе утилиты видно ip адрес 10.3.5.21, это не адрес сервера, а системный DNS сервер. В следующей строке выводится тот же ip адрес и порт, это адрес DNS сервера вместе с портом. По умолчанию порт - 53. И только после этого находится информация про запрашиваемый сайт. Наш ip адрес 87.236.16.171 (от отлично хостинг-провайдера Beget), это означает, что все пакеты, которые вы будете отправлять на сайт будут приходить на этот адрес.

Иногда вы можете получить в ответе утилиты сообщение «Non-authoritative answer» (или на русском: “Не заслуживающий доверия ответ”). Ответ считается авторитетным, только если наш DNS сервер имеет полную информацию о зоне, для рассматриваемой области. Чаще всего, у нашего сервера будет не вся информация, а кэш последнего ответа от авторитетного сервера. Такая информация считается не авторитетной, хотя она была получена из авторитетного источника, но сам DNS сервер таковым не считается.

Первоисточник информации о домене, это его ns сервера. Вы можете их получить, использовав команду с опцией type=ns :

@ns:~$ nslookup -type=ns сайт


Команда выведет список используемых серверов имен, например, у нас это ns1.beget.com. Обычно это от двух до четырех серверов. Если есть авторитетный источник для получения информации, то он указывается в нижней части вывода.

Например, если мы запросим информацию у сервера имен ns1.beget.com, то это уже будет авторитетный (“Заслуживающий доверия”) ответ:

@ns:~$ nslookup сайт ns1.beget.com

Еще можете получить MX запись для домена, для этого нужно установить тип запроса в mx:

@ns:~$ nslookup -type=mx сайт


Здесь будут отображены все настроенные почтовые серверы, у каждого сервера есть свой приоритет, например, 10 или 20. Чем меньше число, тем выше приоритет адреса.

SOA или Start Of Authority предоставляет техническую информацию о домене, для получения этого поля используйте тип запроса soa:

@ns:~$ nslookup -type=soa сайт


Здесь будет выведена такая информация:

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

Также возможно использование nslookup для просмотра всех доступных записей DNS:

@ns:~$ nslookup -type=any сайт


Для просмотра более подробной информации про выполнение запроса вы можете использовать опцию -debug:

@ns:~$ nslookup -type=any -debug сайт

Здесь отображается сообщение, отправленное на сервер и полученный от него ответ. Если ip адресов несколько, то система может отобразить ttl для каждого из них. Некоторые крупные сайты размещены на нескольких серверах, это сделано для противостояния DDoS атакам.

Команда nslookup linux может использоваться и в интерактивном режиме, для этого нужно выполнить ее без параметров:

С помощью команды set вы можете задавать различные параметры, например, порт, или тип запроса:

Set port=53 set type=mx

Чтобы завершить работу с утилитой, используйте команду exit.

ВЫВОДЫ

В этой статье рассмотрено пользование nslookup, утилитой для просмотра DNS записей для домена. Она может быть очень полезной для веб-мастеров и системных администраторов, поскольку очень просто предоставляет всю необходимую информацию.
Ну и напоследок – если вы хотите узнать список мировых root серверов-имен, пропишите: ” @ns:~$ nslookup -type=ns . ” И вы увидите актуальный список главных мировых серверов DNS.

Вконтакте

Сомнительные достоинства старой доброй утилиты

Nslookup является одной из моих любимых утилит в Windows NT 4.0. Вот уже несколько лет при возникновении проблем с разрешением имен при использовании DNS я обращаюсь только к этой программе. Однако с тех пор, как наша компания перешла на Windows 2000 Professional, за Nslookup водятся некоторые странности: неудачные попытки запроса, обращение к дополнительному серверу DNS, а не к основному, и другие. Прежде чем подробно рассмотреть причуды программы Nslookup в Windows 2000 Professional, вспомним, как просто и надежно работала утилита Nslookup в среде NT 4.0.

DNS как образец качества

Утилита Nslookup позволяет напрямую опрашивать серверы DNS для выяснения соответствия адресов IP и имен хостов, для поиска определенных типов записей в файле зоны DNS и проверки их работоспособности. Эта информация важна для поиска неисправностей в работе сервера DNS и создания нового файла зоны DNS. Для выполнения прямого (имя хоста – адрес IP) или реверсивного (адрес IP – имя хоста) запроса просто наберите в командной строке Nslookup, указав в качестве параметра имя хоста или IP-адрес. Утилита вернет нужное соответствие – либо IP-адрес, либо имя хоста. В рамках домена на серверах DNS в соответствующих файлах содержатся записи типа Address (A), задающие отображение имя хоста – адрес IP . Когда используется команда Nslookup, как раз и анализируются записи типа А. Кроме того, программу Nslookup можно использовать для опроса серверов DNS на предмет анализа записей других типов, таких как Name Server (NS), в которых указывается поддержка определенного имени домена; Canonical Name (CNAME), описывающие псевдонимы для серверов DNS, которые были ранее определены через записи типа А; Mail Exchanger (MX), в которых задаются имена почтовых систем для данного домена. С помощью Nslookup можно опросить как записи всех перечисленных типов, так и записи какого-то определенного типа. Почтовые серверы Internet используют запросы к DNS для получения информации из записи MX, такой как адрес сервера и стоимость маршрута. Когда возникает ошибка в работе почтового сервера Internet, например, возврат небольшого фрагмента переданного сообщения его отправителю по причине сбоя при отправке или же доставка сообщения не на тот почтовый сервер, ручной опрос сервера DNS может оказаться весьма полезным. В результате анализа полученных данных становится ясно, какую информацию из DNS "видят" удаленные серверы, а в этом может быть ключ к решению проблемы. Программа Nslookup также используется для ручного опроса файла зоны DNS. Другая полезная функция Nslookup – отображение всех почтовых серверов данного домена. Для этого установите опрос только одного типа записей – MX и сообщите имя интересующего домена. В приведенном ниже примере используется домен xcedia.com: nslookup Нажмите Enter, после чего наберите: set type=mx xcedia.com На Рисунке 1 показаны результаты работы введенных команд.

Странность номер один: сбой в опросе DNS

Первая странность в работе Nslookup в Windows 2000 Professional была обнаружена при возникновении случайных сбоев в процессе запросов к записям в DNS. На некоторых станциях результаты опроса записей MX были примерно такими же, как и при использовании NT 4.0. Однако с других станций запрос на MX выводил не записи этого типа, а общие данные из файла зоны - имя основного сервера, серийный номер файла зоны, установки Time to Live (TTL) – время жизни. Когда команды из рассмотренного выше примера были выполнены с сетевой станции Windows 2000 Professional, оказалось, что записи типа MX отсутствуют (см. Рисунок 2). После того, как один из читателей Windows 2000 Magazine написал мне о похожей проблеме с утилитой Nslookup в Windows 2000 Professional, я решил выяснить, что Microsoft изменила в новой версии утилиты, и почему с разных машин результаты работы программы Nslookup разные. Для начала один и тот же запрос на наличие записей MX выдавался с различных станций Windows 2000 Professional. В результате на каждой станции запрос на MX завершился неудачно. Но при регистрации на станции NT 4.0 аналогичный запрос прекрасно все показывал. В конце концов мне удалось получить нормальные результаты запросов к записям MX со станций Windows 2000 Professional. Для этого пришлось вручную изменить DNS-сервер, используемый в системе по умолчанию, задав команду server server_name в среде Nslookup (в команде server параметр server_name – это имя хоста DNS или IP-адрес сервера DNS, который запрашивается утилитой Nslookup.) По умолчанию, Nslookup устанавливает в качестве основного сервера DNS самый первый сервер из стека настроек IP клиента. После того как этот сервер был изменен, с различных систем Windows 2000 Professional запросы на тип записей MX стали выдавать нормальные результаты. Я заподозрил, что такое поведение Nslookup связано с ошибкой инициализации утилиты, когда обнаружил, что при изменении настроек сервера DNS случайно поменял тип сервера DNS, к которому подключались клиенты сети. Когда сессии Nslookup на Windows 2000 Professional были проанализированы повторно, обнаружилось, что в каждом случае соединение происходило с сервером DNS на NT 4.0. При изменении настроек сервера DNS мне следовало указать сервер DNS с Windows 2000. Может быть, проблема с Nslookup возникает на стыке клиента Windows 2000 Professional и сервера DNS NT 4.0? Дальнейшие эксперименты подтвердили это предположение. Оказалось, что только серверы DNS на NT 4.0 представляют проблему для Nslookup из Windows 2000 Professional. С другими серверами DNS – на базе Windows 2000 DNS или BIND - клиенты Windows 2000 Professional работают нормально. Есть несколько обходных путей для выхода из этой ситуации. Можно воспользоваться командой server server_name для отказа от сервера DNS на NT 4.0. Или можно настроить IP-протокол на клиентах на сервер DNS, отличный от NT 4.0 DNS. Наконец, можно скопировать версию Nslookup из NT 4.0 на станции Windows 2000 Professional. Я пробовал – это помогает. Установка Windows 2000 Service Pack 2 (SP2) тоже решает проблему.

Странность номер два: выбор сервера

Выбор сервера DNS по умолчанию – другая странность команды Windows 2000 Professional Nslookup. В среде NT 4.0 утилита Nslookup при инициализации иногда выдает такое сообщение об ошибке: DNS request timed out Timeout was x seconds Can"t find server name for address: Timed out Default servers are not available Default Server: UnKnown Address: где xxx.xxx.xxx.xxx – это IP-адрес самого первого сервера DNS, сконфигурированного на станции клиента, с которым работает Nslookup. Похоже, что для NT 4.0 это путанное сообщение никак не отражается на функциональности программы. Не обращайте на него внимания, Nslookup обрабатывает запросы нормально. В статье Microsoft "DNS Request Timed Out" Error Message When You Start Nslookup from a Command Line" (http://support.microsoft.com/support/kb/articles/q242/9/06.asp) объясняется, что это особенность процедуры инициализации Nslookup, когда предпринимаются попытки выполнить реверсивный запрос для IP-адреса самого первого сервера DNS. Если запрос завершается неудачно (поскольку нет записей Pointer - PTR), Nslookup выдает приведенное выше сообщение. Несмотря на эту ошибку, в NT 4.0 утилита продолжает опрашивать первый в списке сервер DNS, даже при неудачном реверсивном запросе. Для Windows 2000 Professional команда Nslookup сообщает об ошибке в процессе инициализации. А потом, когда выдается очередной запрос, Nslookup пропускает первый DNS-сервер в списке настроек клиента и перебирает список до тех пор, пока не сможет нормально обработать реверсивный запрос (в статье Microsoft об этом не упоминается). В моем случае это привело к тому, что вместо основного сервера Windows 2000 DNS стал использоваться вспомогательный сервер NT 4.0 DNS, что послужило причиной сбоев (см. описание странности №1). Я был разочарован, когда разработчики Microsoft сократили возможности такой важной утилиты в процессе перехода на новую версию. Обычно обновление означает улучшение, но в случае с Nslookup это оказалось не так.

Шон Дейли - один из редакторов журнала Windows NT Magazine и президент компании iNTellinet Solutions, занимающейся консалтингом и сетевой интеграцией. Имеет сертификат MCSE. Последней из его книг была «Optimizing Windows NT», выпущенная издательством IDG Books. С ним можно связаться по адресу.

Предоставляет сведения, предназначенные для диагностики инфраструктуры DNS. Для использования этого средства необходимо быть знакомым с принципами работы системы DNS. Средство командной строки Nslookup доступно, только если установлен протокол TCP/IP.

Синтаксис

nslookup [- подкоманда... ] [{искомый_компьютер | [- сервер ]}]

Параметры

- подкоманда... Задает одну или несколько подкоманд nslookup как параметры командной строки. Список подкоманд см. в разделе «См. также». искомый_компьютер Ищет данные для параметра искомый_компьютер , используя текущий, заданный по умолчанию сервер имен DNS, если никакого другого сервера не указано. Чтобы получить сведения о компьютере не из текущего домена DNS, в конец имени должна быть добавлена точка. - сервер Указывает, что данный сервер следует использовать в качестве сервера имен DNS. Если параметр -сервер не указан, используется сервер DNS, заданный по умолчанию. {help |? } Выводит краткое описание подкоманд nslookup .

Замечания

  • Если искомый_компьютер задан IP-адресом, а запрашивается запись ресурса типа A или PTR, будет выведено имя компьютера. Если искомый_компьютер задан именем без замыкающей точки, имя домена DSN, используемого по умолчанию, будет добавлено к указанному имени. Поведение зависит от состояния следующих подкоманд команды set : domain , srchlist , defname и search .
  • Если в командной строке введен дефис (-) вместо параметра искомый_компьютер , команда nslookup перейдет в интерактивный режим.
  • Длина строки вызова команды не может превышать 256 символов.
  • Команда nslookup может работать в двух режимах: интерактивном и обычном (автономном).

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

    Если требуется получить более полные сведения, следует использовать интерактивный режим. В качестве первого параметра следует ввести знак дефиса (-) и имя или IP-адрес сервера имен DNS в качестве второго параметра. Если оба параметра не заданы, командой nslookup используется сервер имен DNS, установленный по умолчанию. Далее перечислено несколько советов по работе в интерактивном режиме.

    • Для прерывания интерактивной команды в любой момент следует нажать CTRL+B.
    • Для выхода необходимо ввести exit .
    • Для ввода имени компьютера, совпадающего с какой-либо командой, перед именем следует ввести обратную косую черту (\).
    • Нераспознанные команды воспринимаются как имена компьютеров.
  • Если при обработке запроса возникла ошибка, командой nslookup на экран будет выведено сообщение. В следующей таблице перечислены возможные сообщения об ошибках.
    Сообщение об ошибке Описание
    Timed out Сервер не ответил на запрос в течение определенного времени и после определенного числа повторных попыток. Имеется возможность установить период ожидания с помощью подкоманды set timeout . Имеется возможность установить число повторных попыток с помощью подкоманды set retry .
    No response from server Сервер имен DNS не запущен на сервере
    No records Сервер имен DNS не содержит записей о ресурсах указанного типа, хотя имя сервера задано верно. Тип запроса задается командой set querytype .
    Nonexistent domain Заданный компьютер или имя домена DNS не существует.
    Connection refused

    Network is unreachable

    Невозможно подключиться к серверу имен DNS или к серверу службы finger. Эта ошибка обычно возникает с запросами команд ls и finger .
    Server failure Сервер имен DNS обнаружил внутреннее несоответствие в своей базе данных и не может корректно ответить на запрос.
    Refused Отказано в обработке запроса сервером имен DNS.
    Format error Сервер DNS обнаружил ошибку в формате полученного пакета. Это может свидетельствовать об ошибке в команде nslookup .

Примеры

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

nslookup -querytype=hinfo -timeout=10

Nslookup: exit

Осуществляет выход из nslookup .

Синтаксис

exit

Параметры

{help |? nslookup .

Nslookup: finger

Осуществляет подключение к серверу finger на текущем компьютере.

Синтаксис

finger [имя_пользователя ] [{[> ] имя_файла |[>> ] имя_файла }]

Параметры

имя_пользователя Задает имя пользователя, о котором требуется получить данные. имя_файла Задает имя файла для сохранения выходной информации. С помощью символов (>) и (>>help |? } Выводит краткое описание подкоманд nslookup .

Замечания

  • Текущий компьютер определяется, если предыдущий поиск компьютера был успешным и в результате выполнения команды был возвращен адрес компьютера.

Nslookup: help

Выводит краткое описание подкоманд nslookup .

Синтаксис

{help |? }

Параметры

{help |? } Выводит краткое описание подкоманд nslookup .

Nslookup: ls

Выводит сведения для домена DNS.

Синтаксис

ls [параметр ] домен_DNS [{[> ] имя_файла |[>> ] имя_файла }]

Параметры

Параметр В следующей таблице представлен список допустимых параметров. домен_DNS Задает имя домена DNS, сведения о котором требуется получить. имя_файла Задает имя файла для сохранения выходной информации. С помощью символов (>) и (>>) выход может быть перенаправлен обычным способом. {help |? } Выводит краткое описание подкоманд nslookup .

Замечания

  • По умолчанию будут выведены имена компьютеров и их IP-адреса. Когда вывод направлен в файл, после вывода каждых 50 записей на экран будет выводиться знак #.

Nslookup: lserver

Производит изменение сервера, используемого по умолчанию для заданного домена DNS.

Синтаксис

lserver домен_DNS

Параметры

домен_DNS Задает новый домен DNS для сервера, используемого по умолчанию. {help |? } Выводит краткое описание подкоманд nslookup .

Замечания

  • Команда lserver использует первоначально установленный сервер для получения сведений о заданном сервере DNS. Это отличает ее от команды server , использующей текущий используемый по умолчанию сервер.

Nslookup: root

Производит замену сервера, используемого по умолчанию, на корневой сервер пространства имен DNS.

Синтаксис

Параметры

{help |? } Выводит краткое описание подкоманд nslookup .

Замечания

  • В настоящий момент используется сервер ns.nic.ddn.mil. Команда эквивалентна команде lserver ns.nic.ddn.mil. Имя корневого сервера может быть изменено командой set root .

Nslookup: server

Производит замену сервера, используемого по умолчанию, для заданного домена DNS.

Синтаксис

server домен_DNS

Параметры

домен_DNS Обязательный параметр. Задает новый домен DNS для сервера, используемого по умолчанию. {help |? } Выводит краткое описание подкоманд nslookup .

Замечания

  • Команда server использует текущий используемый по умолчанию сервер для поиска сведений о заданном домене DNS. Это отличает ее от команды lserver , которая использует первоначально установленный сервер.

Nslookup: set all

Выводит текущие значения параметров настройки.

Синтаксис

set all

Параметры

{help |? } Выводит краткое описание подкоманд nslookup .

Замечания

  • Команда set all также выводит сведения о сервере, используемом по умолчанию, и о узловом компьютере.

Nslookup: set class

Изменяет класс запроса. Класс запроса определяет группу протоколов с информацией.

Синтаксис

set cl [ass ]= класс

Параметры

класс По умолчанию используется класс IN. В следующей таблице перечислены допустимые значения для этой команды. {help | ? } Выводит краткое описание подкоманд nslookup .

Nslookup: set d2

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

Синтаксис

set [no ]d2

Параметры

nod2 Отключает углубленный режим отладки. По умолчанию используется синтаксис nod2 . d2 Включает углубленный режим отладки. {help |? } Выводит краткое описание подкоманд nslookup .

Nslookup: set debug

Включает и отключает режим отладки.

Синтаксис

set [no ]deb [ug ]

Параметры

nodeb [ug ] Отключает режим отладки. По умолчанию используется синтаксис nodebug . deb [ug ] Включает режим отладки. {help |? } Выводит краткое описание подкоманд nslookup .

Замечания

  • Если режим отладки включен, будут выводиться более подробные сведения о пакетах, отправленных серверу, и о полученных ответах.

Nslookup: set defname

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

Синтаксис

set [no ]def [name ]

Параметры

nodef [name ] Перестает добавлять имя домена DNS, используемого по умолчанию, к запросу поиска одиночного компонента. def [name ] Добавляет имя домена DNS, используемого по умолчанию, к запросу поиска одиночного компонента. По умолчанию используется синтаксис defname . {help |? } Выводит краткое описание подкоманд nslookup .

Nslookup: set domain

Производит замену имени сервера DNS, используемого по умолчанию, на указанное имя.

Синтаксис

set do [main ]= имя_домена

Параметры

имя_домена Указывает новое имя для используемого по умолчанию домена DNS. По умолчанию в качестве имени домена задается имя узла. {help |? } Выводит краткое описание подкоманд nslookup .

Замечания

  • Используемое по умолчанию имя домена DNS добавляется к имени, задаваемому в запросе, в соответствии с параметрами defname и search . Список поиска домена DNS содержит родительские домены для домена, используемого по умолчанию, если его имя содержит хотя бы два компонента. Например, для домена DNS mfg.widgets.com список поиска будет включать mfg.widgets.com и widgets.com. Команда set srchlist используется для задания другого списка, а команда set all для отображения списка.

Nslookup: set ignore

Игнорирует ошибки усечения пакетов.

Синтаксис

set [no ]ig [nore ]

Параметры

noig [nore ] Не игнорирует ошибки усечения пакетов. По умолчанию используется параметр noignore . ig [nore ] Игнорирует ошибки усечения пакетов. {help |? } Выводит краткое описание подкоманд nslookup .

Nslookup: set port

Производит изменение порта TCP/UDP сервера имен DNS, используемого по умолчанию, на указанное значение.

Синтаксис

set po [rt ]= порт

Параметры

порт Указывает новое значение порта TCP/UDP сервера имен DNS. По умолчанию используется порт 53. {help |? } Выводит краткое описание подкоманд nslookup .

Nslookup: set querytype

Синтаксис

set q [uerytype ]= тип_записи_ресурса

Параметры

тип_записи_ресурса
Значение Описание
A
ANY Указывает все типы данных.
CNAME
GID
HINFO
MB
MG
MINFO
MR
MX Указывает почтовый обменник.
NS
PTR
SOA
TXT Выдает текстовую информацию.
UID
UINFO
WKS
{help |? } Выводит краткое описание подкоманд nslookup .

Замечания

  • Команда set type set querytype .

Nslookup: set recurse

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

Синтаксис

set [no ]rec [urse ]

Параметры

norec [urse ] Отменяет требование к серверу имен DNS отправлять запрос другим серверам в случае, если он сам не располагает требуемой информацией. rec [urse ] Указывает серверу имен DNS, что необходимо отправить запрос другим серверам в случае, если он сам не располагает требуемой информацией. По умолчанию используется синтаксис recurse . {help | ? } Выводит краткое описание подкоманд nslookup .

Nslookup: set retry

Устанавливает число повторных попыток.

Синтаксис

set ret [ry ]= число

Параметры

число Указывает новое значение числа повторных попыток. По умолчанию число повторных попыток равно 4. {help |? } Выводит краткое описание подкоманд nslookup .

Замечания

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

Nslookup: set root

Производит замену имени корневого сервера, используемого для запросов.

Синтаксис

set ro [ot ]= корневой_сервер

Параметры

корневой_сервер Указывает новое имя корневого сервера. По умолчанию используется имя ns.nic.ddn.mil. {help |? } Выводит краткое описание подкоманд nslookup .

Замечания

  • Подкоманда set root влияет на команду root .

Nslookup: set search

Присоединяет имена доменов DNS из списка поиска доменов DNS в запрос, пока не будет получен ответ. Это применяется, когда запросы set и lookup содержат по крайней мере одну точку, но содержат завершающей точки.

Синтаксис

set [no ]sea [rch ]

Параметры

nosea [rch ] Прекращает присоединение имен доменов DNS из списка поиска доменов DNS в запрос. sea [rch ] Присоединяет имена доменов DNS из списка поиска доменов DNS в запрос, пока не будет получен ответ. По умолчанию используется синтаксис search . {help |? } Выводит краткое описание подкоманд nslookup .

Nslookup: set srchlist

Производит изменение используемого по умолчанию имени домена DNS и списка поиска.

Синтаксис

Set srchl [ist ]= имя_домена

Параметры

имя_домена Указывает новые имена для используемого по умолчанию домена DNS и списка поиска. По умолчанию в качестве основы для имени домена задается имя узла. Может быть указано до шести имен, разделенных косыми чертами (/). {help |? } Выводит краткое описание подкоманд nslookup .

Замечания

  • Команда set srchl переопределяет используемое по умолчанию имя домена DNS и список поиска команды set domain . Для вывода всего списка должна быть использована команда set all .

Примеры

Чтобы задать домену DNS имя mfg.widgets.com и указать список поиска из трех имен, введите следующее.

set srchlist=mfg.widgets.com/mrp2.widgets.com/widgets.com

Nslookup: set timeout

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

Синтаксис

set ti [meout ]= число

Параметры

Число Указывает число секунд для периода ожидания. Период ожидания, используемый по умолчанию, составляет 5 секунд. {help |? } Выводит краткое описание подкоманд nslookup .

Замечания

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

Nslookup: set type

Изменяет тип записи ресурса для запроса.

Синтаксис

set ty [pe ]= тип_записи_ресурса

Параметры

тип_записи_ресурса Указывает тип записи ресурса DNS. По умолчанию используется тип A. В следующей таблице перечислены допустимые значения для этой команды.
Значение Описание
A Указывает IP-адрес компьютера.
ANY Указывает все типы данных.
CNAME Указывает каноническое имя для псевдонима.
GID Указывает идентификатор группы для имени группы.
HINFO Указывает тип процессора и операционной системы компьютера.
MB Указывает имя домена почтового ящика.
MG Указывает члена почтовой группы.
MINFO Предоставляет сведения о почтовом ящике или списке рассылки.
MR Указывает имя домена переименования почты.
MX Указывает почтовый обменник.
NS Указывает сервер имен DNS для заданной зоны.
PTR Выдает имя компьютера, если запрос состоит из IP-адреса, иначе выдает указатель на другие сведения.
SOA Указывает начальную запись для зоны DNS.
TXT Выдает текстовую информацию.
UID Указывает идентификатор пользователя.
UINFO Выдает информацию пользователя.
WKS Выдает описание известных служб.
{help |? } Выводит краткое описание подкоманд nslookup .

Замечания

  • Команда set type выполняет ту же функцию, что и команда set querytype .

Nslookup: set vc

Указывает, использовать или нет виртуальную цепь при оправке запросов серверу.

Синтаксис

set [no ]v [c ]

Параметры

nov [c ] Указывает никогда не использовать виртуальную цепь при отправке запросов серверу. По умолчанию используется значение yes . v [c ] Указывает всегда использовать виртуальную цепь при отправке запросов серверу. {help |? } Выводит краткое описание подкоманд nslookup .

Nslookup: set

Изменяет настройки, которые определяют работу функций lookup.

Синтаксис

set ключевое_слово [= значение ]

Параметры

ключевое_слово Указывает подкоманды, производные от подкоманды set . Например, подкоманда set d2 имеет ключевое слово [no ]d2 . Значение Указывает значение параметра конфигурации nslookup для каждой подкоманды. {help |? } Выводит краткое описание подкоманд nslookup .

Замечания

  • Для вывода всех текущих параметров следует ввести команду set all .

Nslookup: view

Сортирует и перечисляет вывод предыдущих подкоманд и команд ls .

Синтаксис

view имя_файла

Параметры

имя_файла Указывает имя файла, содержащего результаты работы предыдущих подкоманд и команд ls . {help |? } Выводит краткое описание подкоманд nslookup .

На нашем сайте

DNS - ДОМЕННАЯ СЛУЖБА ИМЕН
Программа nslookup

Программа nslookup (обычно - /usr/sbin/nslookup в Unix)позволяет произвести DNS-преобразования в явном виде. Например:

%nslookup www.ibm.com

Вывод программы означает, что был опрошен сервер maria.vvsu.ru (его IP-адрес 212.16.195.98) и получен ответ IP(www.ibm.com) = 204.146.18.33.

Пример обратного преобразования:

%nslookup 204.146.18.33 Server: maria.vvsu.ru Address: 212.16.195.98 Name: www.ibm.com Address: 204.146.18.33

Программа nslookup работает также в режиме командной строки. Необходимые команды:

server [имя_опрашиваемого_сервера ] lserver [имя_опрашиваемого_сервера ] сменить опрашиваемый DNS сервер, например: server ns.kiae.su . Без аргумента - установить сервер по умолчанию ("свой" сервер). Все запросы (кроме команды lserver - см. след. абзац) отправляются к опрашиваемому серверу, установленному в данный момент. Nslookup позволяет напрямую обращаться с запросами к серверам, непосредственно отвечающим за ту или иную зону. Если же ответ поступил от сервера, не отвечающего за зону, для хоста которой запрашивалась информация (например, данные были извлечены из кэша), такой ответ будет помечен как "non-authoritative answer ".

server и lserver отличаются тем, что при смене сервера командой server адрес нового сервера преобразуется с помощью текущего сервера, а команда lserver производит то же преобразование с помощью сервера, установленного для nslookup по умолчанию - "своего" сервера. Это имеет значение, когда текущий сервер по какой-либо причине не отвечает на запросы.

set type=тип_данных установить запрос данных определенного типа. Например:

>set type=NS >ibm.com

означает запрос списка DNS-серверов, отвечающих (authoritative) за домен ibm.com. (Запрос в этом случае должен состоять из имени домена, а не отдельного хоста.)

Возможные типы:

  • SOA (Start Of Authority) - заголовок зоны,
  • NS (Name Server) - сервер DNS,
  • A (Address) - IP-адрес, если указано доменное имя, или доменное имя, если указан IP-адрес (выбрано по умолчанию),
  • MX (Mail Exchanger) - обработчик почты,
  • CNAME (Canonical Name) - каноническое имя,
  • PTR (Pointer) - запрос по обратной зоне,
  • ANY - все записи.

Более подробно о типах данных в базе данных DNS см. часть 2 этой темы "Конфигурирование сервера DNS" .

set recurse отправлять рекурсивные запросы (выбрано по умолчанию).

set norecurse отправлять итеративные запросы.

set domain=имя_домена установить имя домена, добавляемое к неполностью определенным доменным именам (по умолчанию берется из /etc/resolv.conf).

set debug подробно показывать содержимое поступающих ответов.

set nodebug отменить set debug (отменено по умолчанию).

set d2 подробно показывать содержимое отправляемых запросов.

set nod2 отменить set d2 (отменено по умолчанию).

set all показать значения всех опций.

ls имя_домена вывести список хостов указанного домена, например ls vvsu.ru. Предварительно следует переключиться на опрос сервера, отвечающего (authoritative) за данный домен. В целях безопасности некоторые серверы не выполняют эту команду (запрещена пересылка баз данных зоны - см. п.

Программа 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-сервером.



В продолжение темы:
Android

Популярная социальная сеть ВКонтакте позволяет находить новых друзей и держать контакт со всеми близкими. Помимо этого, каждый пользователь может делиться собственными...