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

Утилиты входят по умолчанию в ОС Windows, MacOS и большинство . Думаю всем знакома ситуация, когда интернет браузер не находит узел в сети и отображает вместо веб-документа сообщение "Сервер не найден ". При этом еще накануне сайт успешно отвечал на запросы. Помочь разобраться в чем же здесь дело может утилита Ping .

Утилита Ping

Назначение состоит в определении возможности прохождения пакетов от узла на котором выполняется запрос до узла в сети. Команда ping посылает ICMP ECHO запрос на целевой узел и получает ECHO ответ в случае доступности узла. Если в течении определенного времени ответ не получен утилита завершает работу с выводом строки "unknown host ". При удачном запросе возвращает обобщенную статистику и строки вида (UNIX и MacOS):
64 bytes from (): icmp_seq=1 ttl=57 time=27.8 ms
где 64 bytes - кол-во переданных байт с одним пакетом, icmp_seq - номер запроса, ttl(time to live) - время жизни IP (в приближенном смысле не более маршрутизаторов на пути, чем значение ttl, т.к. прохождение по каждому из роутеров на пути отклика уменьшает значение на 1, а 0 анулирует пакет), time - быстрота прохождения пакетов по всему пути в миллисекундах.

Откройте командную строку или терминал и введите следующие строки ping [имя недоступного из браузера домена] . В системе Windows используйте ключ -t . Если Вы начали получать ответ, подождите достаточное кол-во повторений для определения устойчивости связи и, если остановок не возникает, будьте уверены, что доступ к нужному компьютеру в сети есть и ошибки стоит искать в настройках локальной системы. К примеру, в настойках самого браузера, антивируса или сетевого экрана. Если же значение packet loss в обощенной статистике работы утилиты отличается от 0%, возможно, вам стоит попробовать несколько раз перезагрузить страницу. При значительных сбоях в пинге и завершении работы с сообщением "unknown host " стоит попробовать найти проблемный узел с помощью утилиты Tracert (в UNIX системах может иметь аналог traceroute ).

Утилита Tracert

Отсылает ICMP (аналогичная по сути утилита tcptraceroute отсылает TCP) запросы и определяет каждый узел при похождении пакета от компьютера запроса до цели. В выводе показывает все хопы(маршрутизаторы) в виде строк след-го вида
[доменное имя узла] () 74.881 ms 74.888 ms 74.895 ms
где значения в ms разница между временем отправки пакета и получением ответа. По умолчанию делается 3 запроса.

В командную строку введите tracert [доменное имя] . При обнаружении знаков * в одном из хопов или появлении строки "request timeout " c большой долей вероятности вы нашли узел, где прерывается маршрут пакетов и решение вопроса стоит искать совместно с владельцами таких серверов. Также обратите внимание на большие значения в ms.

Следующая практическая задача состоит в применении утилиты NSLookup для получения имен почтовых северов хостера. Задача типичная. Вами приобретен домен и настроен хостинг. Теперь неплохо бы создать несколько e-mail адресов из панели управления хостингом. После заполнения нескольких полей формы почтовый адрес создан и получены данные о логине, пароле и почтовых серверах. Но, что если регулярный почтовый клиент не был сразу настроен на получение/отправку писем с нового ящика и имена серверов забыты? Не спешите набирать адрес контрольной панели в браузере. Лучшим вариантом может оказаться применение утилиты NSLookup .

Утилита 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, которые рассматриваются в следующих статьях.

Может возникнуть необходимость проверить работоспособность 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.

Вконтакте

Компьютеры, как люди, сначала сами по себе, потом в системе. Безусловно, это человек создает компьютерную систему (сеть), но сквозь поколения специалистов эта система (сеть) «сама управляет» процессом своего развития. Это вытекает из фактического развития интернет-пространства и роли, которую играет в нем иерархия 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, и в выдаче будет исчерпывающая информация о сайте "ВКонтакте", но искушенному пользователю ничто не мешает исследовать все параметры команды или подобрать свой вариант и свою стандартную форму для применения на практике.

Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png