Использование утилит Ping, Tracert и NSLookup
Все три приведенные в заглавии утилиты предназначены для работы с сетями. Полезны они и для пользователей Интернета, т.к. помогают выявить и устранить проблемы соединений и определить ключевые узлы сети. Но, обо всем по порядку. Подробное описание каждой из утилит без труда можно найти на Интернет-сайтах и страницах мануалов, поэтому рассмотрим несколько практических задач.
Утилиты входят по умолчанию в ОС Windows, MacOS и большинство дистрибутивов Linux. Думаю всем знакома ситуация, когда интернет браузер не находит узел в сети и отображает вместо веб-документа сообщение "Сервер не найден". При этом еще накануне сайт успешно отвечал на запросы. Помочь разобраться в чем же здесь дело может утилита Ping.
Утилита Ping
Назначение состоит в определении возможности прохождения пакетов от узла на котором выполняется запрос до узла в сети. Команда ping посылает ICMP ECHO запрос на целевой узел и получает ECHO ответ в случае доступности узла. Если в течении определенного времени ответ не получен утилита завершает работу с выводом строки "unknown host". При удачном запросе возвращает обобщенную статистику и строки вида (UNIX и MacOS):
64 bytes from [DNS имя сервера доменных имен] ([ip DNS]): 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) запросы и определяет каждый узел при похождении пакета от компьютера запроса до цели. В выводе показывает все хопы(маршрутизаторы) в виде строк след-го вида
[доменное имя узла] ([IP узла]) 74.881 ms 74.888 ms 74.895 ms
где значения в ms разница между временем отправки пакета и получением ответа. По умолчанию делается 3 запроса.
В командную строку введите tracert [доменное имя]. При обнаружении знаков * в одном из хопов или появлении строки "request timeout" c большой долей вероятности вы нашли узел, где прерывается маршрут пакетов и решение вопроса стоит искать совместно с владельцами таких серверов. Также обратите внимание на большие значения в ms.
Следующая практическая задача состоит в применении утилиты NSLookup для получения имен почтовых северов хостера. Задача типичная. Вами сделан сайт приобретен домен и настроен хостинг. Теперь неплохо бы создать несколько e-mail адресов из панели управления хостингом. После заполнения нескольких полей формы почтовый адрес создан и получены данные о логине, пароле и почтовых серверах. Но, что если регулярный почтовый клиент не был сразу настроен на получение/отправку писем с нового ящика и имена серверов забыты? Не спешите набирать адрес контрольной панели в браузере. Лучшим вариантом может оказаться применение утилиты NSLookup.
Утилита NSLookup
Утилита NSLookup используется для получения информации о записях DNS.
Строки вывода отличаются в зависимости от примененных флагов и установленных опций. Флаг -type=any возвращает информацию по всем записям DNS
Для того, чтобы узнать адрес Mail Exchange (MX) сервера хостера достаточно в командной строке набрать nslookup -type=mx [домен хостера] и обнаружить строку mail exchanger = [адрес]. Для того, чтобы узнать адрес, который вам надо указать в почтовой программе наберите ту же строку, только замените имя домена хостера на свое. Заметим попутно, что применение утилиты host может оказаться здесь более удобным решением: host [имя домена].
Подсказки о применении каждой из утилит с описанием действия всех возможных опций запроса:
в UNIX системах: man [имя утилиты]
В Windows системах:[имя утилиты] -h
Предлагаю воспользоваться онлайн сервисом просмотра заголовков ответа серверов