Пример ввода команд и отображения результатов их выполнения приведён на рисунке 2.
Для вывода результатов работы команды (утилиты) Ping в текстовый файл с именем А1.TXT необходимо выполнить следующую команду:
Ping 169.254.1.1 > A1.TXT
В случае необходимости можно вывести справку для утилиты путём ввода команды:
Ping /?
Исчерпывающую информацию по командам и ключам командной строки можно найти во встроенной справке Windows («Центр справки и поддержки»).
2.3 Задачи, решаемые утилитой Ping
Утилита Ping позволяет оценить время возврата пакета от хоста, что дает представление о том, "насколько далеко" находится хост, число маршрутизаторов на пути передачи пакетов в сети к точке назначения. Ping имеет опции записи маршрута и временной марки.
Основные задачи
3 Механизм работы утилиты Ping
Команда Ping использует дейтаграмму ECHO_REQUEST (код 8) протокола ICMP (см. приложение 1), чтобы вызвать ответ ICMP ECHO_RESPONSE (код 0) указанного хоста или сетевого шлюза. Если хост отвечает, Ping выдает сообщение, что хост жив («host» is аlivе), в стандартный выходной поток и завершает работу. В противном случае, после таймаута она выдает сообщение, что от хоста ответа нет (no answer from «host»). Стандартное значение таймаута – 20 секунд.
3.1 Средства управления утилитой Ping
При использовании Ping для поиска сбоев в сети, необходимо сначала выполнить Ping на локальный хост, чтобы убедиться, что работает локальный сетевой интерфейс, т.е. в командной строке ввести: Ping IP-адрес или имя хоста.
Стандартный размер пакета дейтаграммы равен 32 байтам, но можно задать и другой размер с помощью аргумента командной строки «размер_данных». Поскольку Ping автоматически добавляет 8- байтовый заголовок к каждой посылаемой дейтаграмме, размер пакета, показываемый при использовании опции -l с аргументом «размер_данных», всегда будет на 8 байтов больше, чем указанное вами значение.
3.2 Проблемы использования утилиты Ping
3.2.1 Проблема разрешения имён
Команда Ping позволяет проверить имя и IP-адрес компьютера. Если проверка IP-адреса успешная, а проверка имени – нет, то имеет место проблема разрешения имен. В этом случае с помощью запросов DNS (Domain Name System) или с помощью методов разрешения имен NetBIOS проверьте, чтобы имя задаваемого компьютера было разрешено в локальном файле Hosts.
Эта команда доступна, только если в свойствах сетевого адаптера в объекте Сетевые подключения в качестве компонента установлен протокол Интернета (TCP/IP).
3.2.2 Защита сервера межсетевым экраном
На практике бывает Ping к некоторому серверу не проходит, какая бы задержка ни была выбрана, но все сервисы (например, почта или web) работают нормально. Это связано с тем, что администратор сервера или сети защитил его межсетевым экраном, блокирующим либо эхо-запросы, либо эхо-отклики, либо и те, и другие вместе.
Необходимость блокировки эхо-запросов и эхо-откликов объясняются тем, что эхо-посылки имеют более высокий приоритет по сравнению с обычными пакетами и злоумышленники могут перегрузить сервер, направив на него “штурм” эхо-запросов. Это может быть причиной снижения производительности сервера.
3.3 Синтаксис утилиты Ping
Синтаксис системной утилиты имеет вид:
ping [-t] [-a] [-n счетчик] [-l размер] [-f] [-i TTL] [-v тип] [-r счетчик] [-s счетчик] [{-j список_узлов | -k список_узлов}] [-w интервал] [имя_хоста | IP_адрес_хоста]
Для аварийного завершения работы утилиты можно использовать комбинации клавиш: CTRL+BREAK - прерывание команды и вывода статистики или CTRL+C - прерывание команды и выход.
3.4 Параметры утилиты Ping
Параметры утилиты Ping для удобства изучения представлены в следующем виде
Параметр | Назначение параметра утилиты |
/? | Отображает справку в командной строке. |
имя_хоста | Задает точку назначения, идентифицированную IP-адресом или именем узла |
-t | Отправка сообщений с эхо-запросом к точке назначения до тех пор, пока команда не будет прервана. |
-a | Задает разрешение DNS имени по IP-адресу назначения. В случае успешного выполнения выводится имя соответствующего узла. |
-n число | Задает число отправляемых сообщений с эхо-запросом. По умолчанию 4. |
-l размер | Размер задает длину (в байтах) поля данных в отправленных сообщениях с эхо-запросом. По умолчанию — 32 байта. Максимальный размер — 65527 |
-f | Задает отправку сообщений с эхо-запросом с установленным в 1 флагом «Don't Fragment» в IP-заголовке. Сообщения с эхо-запросом не фрагментируются маршрутизаторами на пути к месту назначения. Этот параметр полезен для устранения проблем, возникающих с максимальным блоком данных для канала (Maximum Transmission Unit) |
-i TTL | Задает значение поля TTL в IP-заголовке для отправляемых сообщений с эхо-запросом. По умолчанию берется значение TTL, заданное по умолчанию для узла. Для узлов Windows XP это значение обычно равно 128. Максимальное значение TTL — 255. |
-r счетчик | Задает параметр записи маршрута (Record Route) в IP-заголовке для записи пути, по которому проходит сообщение с эхо-запросом и соответствующее ему сообщение с эхо-ответом. Каждый переход в пути использует параметр записи маршрута. По возможности значение счетчика задается равным или большим, чем количество переходов между источником и местом назначения. Параметр счетчик имеет значение от 1 до 9. |
-j список_узлов | Указывает для сообщений с эхо-запросом использование параметра свободной маршрутизации в IP-заголовке с набором промежуточных точек назначения, указанным в списке_узлов. При свободной маршрутизации последовательные промежуточные точки назначения могут быть разделены одним или несколькими маршрутизаторами. Максимальное число адресов или имен в списке узлов — 9. Список узлов — это набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами. |
-k список_узлов | Указывает для сообщений с эхо-запросом использование параметра строгой маршрутизации в IP-заголовке с набором промежуточных точек назначения, указанным в списке_узлов. При строгой маршрутизации следующая промежуточная точка назначения должна быть доступной напрямую (она должна быть соседней в интерфейсе маршрутизатора). Максимальное число адресов или имен в списке узлов равно 9. Список узлов — это набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами. |
-s счетчик | Указывает вариант штампа времени Интернета (Internet Timestamp) в заголовке IP для записи времени прибытия сообщения с эхо-запросом и соответствующего ему сообщения с эхо-ответом для каждого перехода. Параметр счетчик имеет значение от 1 до 4. |
-v тип | Задает значение поля типа службы (TOS) в IP-заголовке для отправляемых сообщений с эхо-запросом. По умолчанию это значение равно 0. тип — это десятичное значение от 0 до 255 (см. Таблицу 1). |
-w интервал | Определяет в миллисекундах время ожидания получения сообщения с эхо-ответом, которое соответствует сообщению с эхо-запросом. Если сообщение с эхо-ответом не получено в пределах заданного интервала, то выдается сообщение об ошибке "Request timed out". Интервал по умолчанию равен 4000 (4 секунды). |
Таблица 1.
Допустимые типы сервиса в поле TOS
Код сервиса | Пояснение |
2 | минимальные издержки на пересылку |
4 | максимальная надежность доставки |
8 | максимальная пропускная способность |
16 | минимальная задержка |
3.5 Примеры выполнения команды Ping
Рассмотрим ряд примеров, иллюстрирующих работу утилиты Ping.
Пример 1. Необходимо проверить функционирование шлюза по адресу 192.168.55.35 в локальной сети и его DNS-имя – пропинговать шлюз.
Для этого в командной строке следует вызвать утилиту Ping так, как показано на рисунке 3. Там же приведён отклик хоста (шлюза). Проанализируем полученный результат.
Рис. 3. Пример ввода команды Ping и отображения результатов её выполнения на хост – ADSL модем
Результат работы утилиты Ping на хост (ADSL модема), который используется в качестве шлюза в сеть Internet, показывает, что у встроенной в ОС Windows XP команда Ping имеет начальное значение TTL =256. Временное разрешение таймера в операционной системе составляет 1 мс. Число посылок 4 длиной 32 байта.