ping

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

Ping — утилита для проверки целостности и качества соединений в сетях на основе TCP/IP, а также обиходное наименование самого запроса.

Первоначально словом «ping» (по созвучию) именовали направленный акустический сигнал противолодочных гидролокаторов или «асдиков» (англ. ASDIC, аббревиатура от Allied Submarine Detection Investigation Committee) времён Второй мировой войны.

Утилита отправляет запросы (ICMP Echo-Request) протокола ICMP указанному узлу сети и фиксирует поступающие ответы (ICMP Echo-Reply). Время между отправкой запроса и получением ответа (RTT, от англ. Round Trip Time) позволяет определять двусторонние задержки (RTT) по маршруту и частоту потери пакетов, то есть косвенно определять загруженность на каналах передачи данных и промежуточных устройствах.

Пример:

Если осуществляется диагностика сети в запросах скорости соединения, в первую очередь происходит оценка эхо-запроса Ping, который определяет целостность и качество соединения на предмет запроса потери пакетов отражённого сигнала от источника соединения. В данном случае, если ответ запроса приходит с минимальным количеством пакетов, к примеру около 30 или менее, то в данном случае настройка сетевого оборудования нестабильна и имеет брешь в системе безопасности. Таким образом, стоит придать значение политике IP безопасности, Брандмауэру, групповой политике и настройкам сетевых адаптеров, настроек маршрутизатора. Не стоит путать Ping - определяющий целостность и качество связи, с транспортными протоколами связи TCP и UDP - определяющих передачу и скорость передачи данных!

Обычный эхо-запрос имеет длину 64 байта (плюс 20 байт IP-заголовка). По стандарту RFC 791 IPv4 суммарный объём пакета не может превышать 65 535 байт.

В разговорной речи пингом называют также время, затраченное на передачу пакета игровой информации в компьютерных сетях от клиента к серверу и обратно от сервера к клиенту[1].

Полное отсутствие ICMP-ответов может также означать, что удалённый узел (или какой-либо из промежуточных маршрутизаторов) блокирует ICMP Echo-Reply или игнорирует ICMP Echo-Request.

Программа ping является одним из основных диагностических средств в сетях TCP/IP и входит в поставку всех современных сетевых операционных систем. Функциональность ping также реализована в некоторых встроенных ОС маршрутизаторов, доступ к результатам выполнения ping для таких устройств по протоколу SNMP определяется RFC 2925 (Definitions of Managed Objects for Remote Ping, Traceroute, and Lookup Operations).

Так как для отправки ICMP-пакетов требуется создавать raw-сокеты, для выполнения программы ping в UNIX-системах необходимы права суперпользователя. Чтобы обычные пользователи могли использовать ping, в правах доступа файла /bin/ping устанавливают SUID-бит.





Этимология

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

Также есть несколько альтернативных толкований:

  • PING — акроним «Packet InterNet Grouper (Groper)».
  • Ping — часть названия игры пинг-понг. Это толкование подразумевает, что компьютеры обмениваются сигналами аналогично тому, как игроки в пинг-понг отбивают друг другу мяч.
  • Pong — иногда так называют ответ (ICMP Echo-Reply), полученный благодаря удачно выполненной команде ping.

История

Программа была написана Майком Мууссом, учёным Исследовательской Лаборатории Баллистики (англ. Ballistics Research Lab) США в декабре 1983 года.

Практическое использование

  • Можно узнать IP-адрес по доменному имени.
  • Можно узнать, работает ли сервер. Например, системный администратор может узнать, завис ли только веб-сервер или проблемы с хостом.
  • Можно узнать, есть ли связь с сервером. Например, проблемы с настройкой DNS серверов на машине можно узнать, задав в ping сначала доменное имя, а потом IP-адрес.
  • Также можно узнать качество канала, посмотрев, сколько ответов не пришло. Это часто используется игроками в сетевые игры, потому что качество связи для них очень важно. Хотя не всегда это является показателем качества связи, в некоторых сетях протокол ICMP может иметь низкий приоритет либо блокироваться полностью.

Структура ICMP пакета

IP Datagram
  Bit 0 — 7 Bit 8 — 15 Bit 16 — 23 Bit 24 — 31
IP Header
(20 bytes)
Version/IHL Type of service Length
Identification flags and offset
Time To Live (TTL) Protocol Checksum
Source IP address
Destination IP address
ICMP Header
(8 bytes)
Type of message Code Checksum
Header Data
ICMP Payload
(optional)
Payload Data

Общее содержание ICMP пакета

  • IP Header (синим цветом):
    • Protocol устанавливается значение — 1 (ICMP) и Type of Service — 0
  • ICMP Header (красным цветом):
    • Type of ICMP message (8 бит) — тип сообщения ICMP
    • Code (8 бит)
    • Checksum (16 бит) — контрольная сумма, вычисляется из части ICMP пакета, заголовок не используется.
    • Header Data (32 бита) — содержит Идентификатор(Identifier) (16 бит) и Порядковый номер(Sequence number) (16 бит) необходимые для корректного определения отправителя.
  • ICMP Payload
    • Payload — необходим для хранения и передачи ответов различного типа. К примеру TimeStamp.

Примеры

UNIX-подобные системы

Послать 3 пакета с интервалом в 5 секунд, сопровождая получение откликов звуковыми сигналами

$ ping -ai 5 -c 3 wikipedia.org
PING wikipedia.org (208.80.152.2) 56(84) bytes of data.
64 bytes from rr.pmtpa.wikimedia.org (208.80.152.2): icmp_seq=1 ttl=46 time=176 ms
64 bytes from rr.pmtpa.wikimedia.org (208.80.152.2): icmp_seq=2 ttl=46 time=177 ms
64 bytes from rr.pmtpa.wikimedia.org (208.80.152.2): icmp_seq=3 ttl=46 time=181 ms

--- wikipedia.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 10007ms
rtt min/avg/max/mdev = 176.253/178.291/181.339/2.222 ms
$

Не расшифровывать имена адресов, выводить только ip-адреса

$ ping -n wikipedia.org

По истечении времени (в данном случае 5 сек) ping завершит свою работу

$ ping -w 5 wikipedia.org

Установить размер отправляемых пакетов в 1000 байт (Debian)

$ ping -s 1000 wikipedia.org

Установить размер отправляемых пакетов в 1000 байт (Solaris)

$ ping -s wikipedia.org 1000

Windows

Ping в командной строке Windows:

ping ru.wikipedia.org

Обмен пакетами с rr.esams.wikimedia.org [91.198.174.225] по 32 байт:

Ответ от 91.198.174.225: число байт=32 время=54мс TTL=32
Ответ от 91.198.174.225: число байт=32 время=54мс TTL=32
Ответ от 91.198.174.225: число байт=32 время=54мс TTL=32
Ответ от 91.198.174.225: число байт=32 время=54мс TTL=32

Статистика Ping для 91.198.174.225:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время приёма-передачи в мс:
Минимальное = 54 мсек, Максимальное = 54 мсек, Среднее = 54 мсек

ping с ключами командной строки Windows:

-w <тайм-аут> Тайм-аут для каждого ответа (в миллисекундах), в данном случае ждать ответ 1 мс.


С:\Users\>ping ya.ru -w 1
Обмен пакетами с ya.ru [93.158.134.3] с 32 байтами данных:
Ответ от 93.158.134.3: число байт=32 время=1мс TTL=60
Ответ от 93.158.134.3: число байт=32 время=1мс TTL=58
Ответ от 93.158.134.3: число байт=32 время=1мс TTL=58
Ответ от 93.158.134.3: число байт=32 время=1мс TTL=58
Статистика Ping для 93.158.134.3:
Пакетов: отправлено = 4, получено = 4, потеряно = 0  (0% потерь)
Приблизительное время приёма-передачи в мс:
Минимальное = 1мсек, Максимальное = 1 мсек, Среднее = 1 мсек

Проверка связи с указанным узлом до прекращения. Для отображения статистики и продолжения проверки нажмите сочетание клавиш CTRL+BREAK; для прекращения нажмите CTRL+C.

C:\Users\>ping ya.ru -t
Обмен пакетами с ya.ru [93.158.134.3] с 32 байтами данных:
Ответ от 93.158.134.3: число байт=32 время=1мс TTL=60
Ответ от 93.158.134.3: число байт=32 время=1мс TTL=58
Ответ от 93.158.134.3: число байт=32 время=1мс TTL=58
[вырезано]
Ответ от 93.158.134.3: число байт=32 время=1мс TTL=60
Ответ от 93.158.134.3: число байт=32 время=1мс TTL=58
Статистика Ping для 93.158.134.3:
Пакетов: отправлено = 125, получено = 125, потеряно = 0 (0% потерь)
Приблизительное время приёма-передачи в мс:
Минимальное = 1мсек, Максимальное = 1 мсек, Среднее = 1 мсек

Дополнительные ключи и синтаксис:

   ping [-t] [-a] [-n <число>] [-l <размер>] [-f] [-i <TTL>] [-v <TOS>]
        [-r <число>] [-s <число>] [[-j <список узлов>] | [-k <список узлов>]]
        [-w <тайм-аут>] [-R] [-S <адрес источника>] [-4] [-6] конечный_узел

Параметры

   -t                    Проверка связи с указанным узлом до прекращения.
                         Для отображения статистики и продолжения проверки
                         нажмите сочетание клавиш CTRL+BREAK;
                         для прекращения нажмите CTRL+C.
   -a                    Определение имен узлов по адресам.
   -n <число>            Число отправляемых запросов эха.
   -l <размер>           Размер буфера отправки.
   -f                    Установка в пакете флага, запрещающего
                         фрагментацию (только IPv4).
   -i <TTL>              Задание срока жизни пакетов.
   -v <TOS>              Задание типа службы (только IPv4. Этот параметр
                         недоступен и не влияет на поле TOS в заголовке IP).
   -r <число>            Запись маршрута для указанного числа прыжков
                         (только IPv4).
   -s <число>            Отметка времени для указанного числа прыжков
                         (только IPv4).
   -j <список_узлов>     Свободный выбор маршрута по списку узлов
                         (только IPv4).
   -k <список_узлов>     Жесткий выбор маршрута по списку узлов
                         (только IPv4).
   -w <тайм-аут>         Тайм-аут для каждого ответа (в миллисекундах).
   -R                    Использование заголовка для проверки также и
                         обратного маршрута (только IPv6).
   -S <адрес источника>  Используемый адрес источника.
   -4                    Принудительное использование протокола IPv4.
   -6                    Принудительное использование протокола IPv6.

См. также

Напишите отзыв о статье "Ping"

Примечания

  1. [volia.com/rus/support/internet/speed/k/ Что такое пинг?] // Интернет провайдер в Киеве.

Ссылки

  • [habrahabr.ru/post/169401/ История программы ping словами автора, Майка Муса]
  • [wservice.info/ Веб-интерфейс для ping]
  • RFC 792
  • [www.host-tracker.com/InstantCheck/Create?type=ping Распределённый Ping из нескольких мест] — Точки расположены в множестве стран.
  • [www.test-net.org/ Ping Test Online]
  • [ping-admin.ru/free_ping/ Проверка ping из различных частей мира] — Множество точек мониторинга на территории РФ.

Отрывок, характеризующий Ping



Генералы Наполеона – Даву, Ней и Мюрат, находившиеся в близости этой области огня и даже иногда заезжавшие в нее, несколько раз вводили в эту область огня стройные и огромные массы войск. Но противно тому, что неизменно совершалось во всех прежних сражениях, вместо ожидаемого известия о бегстве неприятеля, стройные массы войск возвращались оттуда расстроенными, испуганными толпами. Они вновь устроивали их, но людей все становилось меньше. В половине дня Мюрат послал к Наполеону своего адъютанта с требованием подкрепления.
Наполеон сидел под курганом и пил пунш, когда к нему прискакал адъютант Мюрата с уверениями, что русские будут разбиты, ежели его величество даст еще дивизию.
– Подкрепления? – сказал Наполеон с строгим удивлением, как бы не понимая его слов и глядя на красивого мальчика адъютанта с длинными завитыми черными волосами (так же, как носил волоса Мюрат). «Подкрепления! – подумал Наполеон. – Какого они просят подкрепления, когда у них в руках половина армии, направленной на слабое, неукрепленное крыло русских!»
– Dites au roi de Naples, – строго сказал Наполеон, – qu'il n'est pas midi et que je ne vois pas encore clair sur mon echiquier. Allez… [Скажите неаполитанскому королю, что теперь еще не полдень и что я еще не ясно вижу на своей шахматной доске. Ступайте…]
Красивый мальчик адъютанта с длинными волосами, не отпуская руки от шляпы, тяжело вздохнув, поскакал опять туда, где убивали людей.
Наполеон встал и, подозвав Коленкура и Бертье, стал разговаривать с ними о делах, не касающихся сражения.
В середине разговора, который начинал занимать Наполеона, глаза Бертье обратились на генерала с свитой, который на потной лошади скакал к кургану. Это был Бельяр. Он, слезши с лошади, быстрыми шагами подошел к императору и смело, громким голосом стал доказывать необходимость подкреплений. Он клялся честью, что русские погибли, ежели император даст еще дивизию.
Наполеон вздернул плечами и, ничего не ответив, продолжал свою прогулку. Бельяр громко и оживленно стал говорить с генералами свиты, окружившими его.
– Вы очень пылки, Бельяр, – сказал Наполеон, опять подходя к подъехавшему генералу. – Легко ошибиться в пылу огня. Поезжайте и посмотрите, и тогда приезжайте ко мне.
Не успел еще Бельяр скрыться из вида, как с другой стороны прискакал новый посланный с поля сражения.
– Eh bien, qu'est ce qu'il y a? [Ну, что еще?] – сказал Наполеон тоном человека, раздраженного беспрестанными помехами.
– Sire, le prince… [Государь, герцог…] – начал адъютант.
– Просит подкрепления? – с гневным жестом проговорил Наполеон. Адъютант утвердительно наклонил голову и стал докладывать; но император отвернулся от него, сделав два шага, остановился, вернулся назад и подозвал Бертье. – Надо дать резервы, – сказал он, слегка разводя руками. – Кого послать туда, как вы думаете? – обратился он к Бертье, к этому oison que j'ai fait aigle [гусенку, которого я сделал орлом], как он впоследствии называл его.
– Государь, послать дивизию Клапареда? – сказал Бертье, помнивший наизусть все дивизии, полки и батальоны.
Наполеон утвердительно кивнул головой.
Адъютант поскакал к дивизии Клапареда. И чрез несколько минут молодая гвардия, стоявшая позади кургана, тронулась с своего места. Наполеон молча смотрел по этому направлению.
– Нет, – обратился он вдруг к Бертье, – я не могу послать Клапареда. Пошлите дивизию Фриана, – сказал он.
Хотя не было никакого преимущества в том, чтобы вместо Клапареда посылать дивизию Фриана, и даже было очевидное неудобство и замедление в том, чтобы остановить теперь Клапареда и посылать Фриана, но приказание было с точностью исполнено. Наполеон не видел того, что он в отношении своих войск играл роль доктора, который мешает своими лекарствами, – роль, которую он так верно понимал и осуждал.
Дивизия Фриана, так же как и другие, скрылась в дыму поля сражения. С разных сторон продолжали прискакивать адъютанты, и все, как бы сговорившись, говорили одно и то же. Все просили подкреплений, все говорили, что русские держатся на своих местах и производят un feu d'enfer [адский огонь], от которого тает французское войско.
Наполеон сидел в задумчивости на складном стуле.
Проголодавшийся с утра m r de Beausset, любивший путешествовать, подошел к императору и осмелился почтительно предложить его величеству позавтракать.
– Я надеюсь, что теперь уже я могу поздравить ваше величество с победой, – сказал он.
Наполеон молча отрицательно покачал головой. Полагая, что отрицание относится к победе, а не к завтраку, m r de Beausset позволил себе игриво почтительно заметить, что нет в мире причин, которые могли бы помешать завтракать, когда можно это сделать.
– Allez vous… [Убирайтесь к…] – вдруг мрачно сказал Наполеон и отвернулся. Блаженная улыбка сожаления, раскаяния и восторга просияла на лице господина Боссе, и он плывущим шагом отошел к другим генералам.
Наполеон испытывал тяжелое чувство, подобное тому, которое испытывает всегда счастливый игрок, безумно кидавший свои деньги, всегда выигрывавший и вдруг, именно тогда, когда он рассчитал все случайности игры, чувствующий, что чем более обдуман его ход, тем вернее он проигрывает.
Войска были те же, генералы те же, те же были приготовления, та же диспозиция, та же proclamation courte et energique [прокламация короткая и энергическая], он сам был тот же, он это знал, он знал, что он был даже гораздо опытнее и искуснее теперь, чем он был прежде, даже враг был тот же, как под Аустерлицем и Фридландом; но страшный размах руки падал волшебно бессильно.
Все те прежние приемы, бывало, неизменно увенчиваемые успехом: и сосредоточение батарей на один пункт, и атака резервов для прорвания линии, и атака кавалерии des hommes de fer [железных людей], – все эти приемы уже были употреблены, и не только не было победы, но со всех сторон приходили одни и те же известия об убитых и раненых генералах, о необходимости подкреплений, о невозможности сбить русских и о расстройстве войск.
Прежде после двух трех распоряжений, двух трех фраз скакали с поздравлениями и веселыми лицами маршалы и адъютанты, объявляя трофеями корпуса пленных, des faisceaux de drapeaux et d'aigles ennemis, [пуки неприятельских орлов и знамен,] и пушки, и обозы, и Мюрат просил только позволения пускать кавалерию для забрания обозов. Так было под Лоди, Маренго, Арколем, Иеной, Аустерлицем, Ваграмом и так далее, и так далее. Теперь же что то странное происходило с его войсками.
Несмотря на известие о взятии флешей, Наполеон видел, что это было не то, совсем не то, что было во всех его прежних сражениях. Он видел, что то же чувство, которое испытывал он, испытывали и все его окружающие люди, опытные в деле сражений. Все лица были печальны, все глаза избегали друг друга. Только один Боссе не мог понимать значения того, что совершалось. Наполеон же после своего долгого опыта войны знал хорошо, что значило в продолжение восьми часов, после всех употрсбленных усилий, невыигранное атакующим сражение. Он знал, что это было почти проигранное сражение и что малейшая случайность могла теперь – на той натянутой точке колебания, на которой стояло сражение, – погубить его и его войска.
Когда он перебирал в воображении всю эту странную русскую кампанию, в которой не было выиграно ни одного сраженья, в которой в два месяца не взято ни знамен, ни пушек, ни корпусов войск, когда глядел на скрытно печальные лица окружающих и слушал донесения о том, что русские всё стоят, – страшное чувство, подобное чувству, испытываемому в сновидениях, охватывало его, и ему приходили в голову все несчастные случайности, могущие погубить его. Русские могли напасть на его левое крыло, могли разорвать его середину, шальное ядро могло убить его самого. Все это было возможно. В прежних сражениях своих он обдумывал только случайности успеха, теперь же бесчисленное количество несчастных случайностей представлялось ему, и он ожидал их всех. Да, это было как во сне, когда человеку представляется наступающий на него злодей, и человек во сне размахнулся и ударил своего злодея с тем страшным усилием, которое, он знает, должно уничтожить его, и чувствует, что рука его, бессильная и мягкая, падает, как тряпка, и ужас неотразимой погибели обхватывает беспомощного человека.
Известие о том, что русские атакуют левый фланг французской армии, возбудило в Наполеоне этот ужас. Он молча сидел под курганом на складном стуле, опустив голову и положив локти на колена. Бертье подошел к нему и предложил проехаться по линии, чтобы убедиться, в каком положении находилось дело.
– Что? Что вы говорите? – сказал Наполеон. – Да, велите подать мне лошадь.
Он сел верхом и поехал к Семеновскому.
В медленно расходившемся пороховом дыме по всему тому пространству, по которому ехал Наполеон, – в лужах крови лежали лошади и люди, поодиночке и кучами. Подобного ужаса, такого количества убитых на таком малом пространстве никогда не видал еще и Наполеон, и никто из его генералов. Гул орудий, не перестававший десять часов сряду и измучивший ухо, придавал особенную значительность зрелищу (как музыка при живых картинах). Наполеон выехал на высоту Семеновского и сквозь дым увидал ряды людей в мундирах цветов, непривычных для его глаз. Это были русские.
Русские плотными рядами стояли позади Семеновского и кургана, и их орудия не переставая гудели и дымили по их линии. Сражения уже не было. Было продолжавшееся убийство, которое ни к чему не могло повести ни русских, ни французов. Наполеон остановил лошадь и впал опять в ту задумчивость, из которой вывел его Бертье; он не мог остановить того дела, которое делалось перед ним и вокруг него и которое считалось руководимым им и зависящим от него, и дело это ему в первый раз, вследствие неуспеха, представлялось ненужным и ужасным.