Ping
PING
Ping - сетевая утилита для диагностики подключения сети, используется для оценки доступности другого сетевого устройства, а также времени которое тратится при передаче пакетов. Утилита Ping присутствует во всех популярных ОС будьто Windows, Linux, MacOS однако, тут будет показано использование в Windows. Большинство команд на всех ОС и реализациях утилиты практически одинаковы, однако могут быть различия.
Скриншот терминала с вызовом утилиты Ping:
Принцип работы
Ping отправляет эхо-запрос ICMP с помощью протокола управляющих сообщений Интернета(ICMP). Показывает сообщения об ошибках, потерю пакетов, минимальное и максимальное время ожидания ответа(эхо).
Синтаксис
ping [/t] [/a] [/n <кол-во>] [/l <размер>] [/f] [/I <TTL>] [/v <TOS>] [/r <кол-во>] [/s <кол-во>] [{/j <список хостов> | /k <список хостов>}] [/w <таймаут>] [/R] [/S <исходный хост>] [/4] [/6] <конечный хост>
| Параметры | Описание |
|---|---|
| /t | Указывает что пакеты будут отправляться до тех пор, пока пользователь не прервет работу. Чтобы прервать работу, нужно нажать Ctrl + C |
| /a | Реверсивно получает имя сервера. Если запрос успешен, покажет название хоста |
/n <кол-во>
|
Количество эхо-пакетов. Поумолчанию: 4 |
/l <размер>
|
Длина информации передаваемой в одном эхо-пакете в байтах. Поумолчанию: 32. Максимальный размер: 65 527 |
| /f | Указывает что сообщение не нужно фрагментировать (Do not Fragment). Полезно для устранения проблемы с максимальным блоком передачи (PMTU) |
/l <TTL>
|
Указывает значение Time To Live(TTL) в заголовке UP для отправки эхо-запроса. Значение по умолчанию - значение по умолчанию для хоста. Максимальный TTL - 255 |
/v <TOS>
|
Указывает значение поля Type Of Service (TOS) в заголовке IP для отправки эхо-запроса. Значение по умолчанию - 0. TOS указывается в виде десятичного значения от 0 до 255 |
/r <кол-во>
|
Указывает, что параметр «Record Route» в заголовке IP используется для записи пути, пройденного сообщением эхо-запроса и сообщением эхо-ответа. Каждый переход в пути использует запись в опции Record Route . Можно указать количество , равное или превышающее количество прыжков между источником и пунктом назначения. Количество должно быть не менее 1 и не более 9. |
/s <кол-во>
|
Указывает, что параметр метки времени Интернета в заголовке IP используется для записи времени прибытия сообщения эхо-запроса и соответствующего сообщения эхо-ответа для каждого прыжка. Количество должно быть не менее 1 и не более 4. Это требуется для локальных адресов назначения. |
/j <список хостов>
|
Указывает, что сообщения эхо-запроса используют параметр «Loose Source Route» в заголовке IP с набором промежуточных пунктов назначения, указанных в списке хостов. При свободной маршрутизации источника последовательные промежуточные пункты назначения могут быть разделены одним или несколькими маршрутизаторами. Максимальное количество адресов или имен в списке хостов — 9. Список хостов представляет собой серию IP-адресов (в десятичном представлении с точками), разделенных пробелами. |
/k <список хостов>
|
Указывает, что сообщения эхо-запроса используют параметр Strict Source Route в заголовке IP с набором промежуточных пунктов назначения, указанных в списке хостов. При строгой исходной маршрутизации следующий промежуточный пункт назначения должен быть доступен напрямую (он должен быть соседним на интерфейсе маршрутизатора). Максимальное количество адресов или имен в списке хостов — 9. Список хостов представляет собой серию IP-адресов (в десятичном представлении с точками), разделенных пробелами. |
/w <таймаут>
|
Указывает количество времени в миллисекундах для ожидания сообщения эхо-ответа, соответствующего данному сообщению эхо-запроса. Если сообщение эхо-ответа не получено в течение времени ожидания, отображается сообщение об ошибке «Время ожидания запроса истекло». Время ожидания по умолчанию составляет 4000 (4 секунды). |
| /R | Указывает, что отслеживается путь туда и обратно (доступно только для IPv6). |
/S <конечный адрес>
|
Указывает исходный адрес для использования (доступно только для IPv6). |
| /4 | Указывает IPv4, используемый для проверки связи. Этот параметр не требуется для идентификации целевого хоста с адресом IPv4. Требуется только идентифицировать целевой хост по имени. |
| /6 | Указывает IPv6, используемый для проверки связи. Этот параметр не требуется для идентификации целевого хоста с адресом IPv6. Требуется только идентифицировать целевой хост по имени. |
<конечный хост>
|
Указывает имя хоста или IP-адрес места назначения. |
| /? | Отображает справку в командной строке. |
Примеры
В сети два компьютера, подключенных к одному роутеру. Нам нужно проверить, могут ли они общаться друг с другом. Вот список IP адресов компьютеров:
1 компьютер: 192.168.56.100 2 компьютер: 192.168.56.102
Чтобы проверить возможность общения между ними, можно воспользоваться утилитой Ping следующим образом на первом компьютере
ping 192.168.56.102
Такая же команда на втором компьютере только подставляем IP адрес первого компьютера(компьютера, связь с которым мы хотим проверить)
Пример успешного выполнения
В случае если в связь между компьютерами(серверами) установлена, мы получим результат следующего вида:
В конце указана статистика, где показывается сколько пакетов отправлено, получено и потеряно. Сколько времени заняло отправка пакетов минимум, максимум и в среднем.
Пример ошибки
В случае если при попытке достучаться до сервера(или другого компьютера) произошла ошибка или сервер не доступен, мы можем получить результат следующего вида:
В статистике мы видим что все 4 пакета потерялись(не дошли). Это означает что мы не можем связаться с сервером(или другим компьютером). Помимо этого утилита Ping может показывать другие ошибки.
Пример с указанием параметров
Чтобы указать количество отправляемых пакетов и размер каждого пакета, мы можем использовать следующие аттрибуты
/n <кол-во>
/l <размер>
Мы будем отправлять 10 пакетов с размером 1000 каждый. Полная команда будет выглядеть так:
ping /n 10 /l 1000 127.0.0.1
Результат: