Рассказываем, как работает ping, когда требуется пинговать сайт, как это сделать и какие ошибки встречаются чаще всего.
Ping: для чего и как пингуют серверы
Команда ping — это лёгкий способ проверить, доступен ли удалённый хост (сайт или сервер). Работает она следующим образом.
Команда ping отправляет на сервер (удалённый узел), доступность которого проверяют, небольшие пакеты данных. При этом для пинга не нужны ни дополнительное ПО, ни доступ к файлам на удалённом ресурсе, ни специальная настройка процесса. Ответ производится сетевой подсистемой TCP/IP, возвращающей те же запросы в виде ответа. При этом замеряется время, понадобившееся, чтобы они вернулись, и их целостность (для определения, есть ли потери).
Чаще всего команду «пинг» выполняют для:
- измерения времени ответа сервера,
- выявления IP-адреса хоста,
- определения качества установленного соединения (смотрят по наличию или отсутствию потерь),
- автоматической регулярной проверки связи.
Если пинг завершился успешно, но целевой хост всё равно недоступен через браузер или другое ПО, то, вероятней всего, проблема не на вашей стороне.
Если соединение происходит через прокси-сервер, то протестировать соединение не удастся; чтобы выполнить пинг нужно прямое соединение с удалённым устройством.
Пинг через командную строку в Windows, MacOS и Linux
Как открыть консоль
- Если у вас установлена ОС Windows, откройте командную строку. Кликните по кнопке «Пуск», затем нажмите пункт «Выполнить» и в появившемся окне введите cmd. Или используйте сочетание клавиш для быстрого доступа Win+R.
- Если установлена MacOS, откройте терминал: раздел «Программы», а затем раздел «Утилиты» и выберите «Терминал».
- Если ваш компьютер работает под управлением Linux, запустите интерфейс командной строки. Найти его можно по пути «Приложения» → «Стандартные». Или одновременно нажмите сочетание клавиш быстрого доступа в Ubuntu: Ctrl+Alt+T.
Запускаем пинг
Введём в командной строке ping. Есть два варианта: проверка по имени хоста (адресу веб-страницы) и по IP (локальному или глобальному адресу).
ping host_name
ping IP_address
Прописываем ping-запрос полностью и затем нажимаем «Ввод», чтобы запустить процесс.
Например, ping adminvps.ru пропингует главную страницу сайта AdminVPS, то же самое можно сделать командой ping 5.253.61.60.
Как понять результаты пинга
Первая строка — это описание произведённых командой действий. Здесь будет указан адрес веб-ресурса, его IP и объём отправленных пакетов. В нашем примере это обмен пакетами с adminvps.ru [5.253.61.60] с 32 байтами данных.
Следующие строки — описание полученных ответов от хоста: его IP, объём данных для каждого пакета, затраченное на передачу время и TTL (Time to live) — время жизни пакетов, или максимальное количество пройденных сетевых узлов во время передачи, прежде чем пакет исчезнет.
Ответ от 5.253.61.60: число байт=32 время=18мс TTL=50
Ответ от 5.253.61.60: число байт=32 время=17мс TTL=50
Ответ от 5.253.61.60: число байт=32 время=17мс TTL=50
Ответ от 5.253.61.60: число байт=32 время=17мс TTL=50
Ниже указана статистика проверки: сколько всего отправлено, получено и потеряно пакетов, рассчитан процент потерь, минимальное, максимальное и среднее время приёма-передачи.
Отлично, если передача прошла без потерь, — это говорит о качественном соединении. Если же пакеты вернулись не полностью, то соединение ненадёжно.
Читая результаты, нужно обратить внимание на два параметра:
- Во-первых, на процент потерь (идеально, если он равен нулю).
- Во-вторых, на время приёма-передачи. Если оно меньше 10 миллисекунд — скорость соединения отличная, от 10 до 20 — удовлетворительная, и если больше 20 — стоит искать причины такой задержки. Также важно, чтобы скорость была ровной, без скачков или провалов, и не было большой разбежки между минимальным, средним и максимальным временем.
Как настроен пинг по умолчанию
На Windows и Linux ping настроен не одинаково.
На Windows, когда запускается пинг без дополнительных параметров, посылается 4 пакета с данными. Linux же будет отправлять пакеты бесконечно, пока вы не закончите пинг вручную — это делается нажатием Ctrl+C.
Чтобы на Windows так же, как на Linux, пропинговать сайт с помощью неограниченного количества запросов, запустите ping с флагом -t. Запрос будет иметь вид:
ping -t host.name
Например:
ping -t adminvps.ru
Такая команда будет бесконечно отправлять запросы, пока вы не остановите её выполнение нажатием Ctrl+C. После чего в консоль будет выведена обычная статистика, но с отправленным числом запросов.
Дополнительные опции команды «пинг»
И на Windows, и на Linux ping-команда имеет настраиваемые параметры, предназначенные для решения различных задач. Чтобы посмотреть справку на Windows воспользуйтесь командой:
ping /?
В консоль будут выведены доступные дополнительные параметры:
В Linux вызывающая справку команда выглядит так:
ping -help
Список тот же, что и для ОС Windows:
Если проверка пинга не удалась
- Проверьте введённое имя хоста.
- Попробуйте заменить имя хоста на его IP-адрес; если ошибка исчезла, то её причина была в некорректном адресе сервера доменных имён.
- Проверьте пинг другого ресурса, в доступности которого вы уверены; если вы всё равно увидите ошибку «Неизвестное имя узла», то проблема, скорей всего, кроется в адресе сервера DNS.
- Проверьте ваше сетевое соединение.
- Пропингуйте ваш собственный компьютер; для этого проверьте пинг 127.0.0.1. Если процесс завершился ошибкой, то ваш TCP/IP настроен неверно и требуется перенастроить сетевой адаптер.
- Проверьте беспроводное или кабельное соединение ПК с маршрутизатором, и соединение маршрутизатора с сетью.
- Если пришёл ответ «Превышен интервал ожидания», то целевой хост не успел отправить ответ за 4 секунды — именно столько система по умолчанию ждёт возвращения пакетов. Причина не всегда в недоступности хоста, если сервер перегружен, то он может отложить выполнение пинга. В этой ситуации полезно увеличить время ожидания, добавив к ping опцию -w **** (вместо **** поставьте время в миллисекундах). Итоговый запрос будет иметь вид ping -w ****.
Как проверить соединение на нагрузку
Пинг позволяет не только проверить доступность и качество соединения, но и протестировать его под нагрузкой, но сделать это можно только от имени суперпользователя. Для тестирования организуют массовую отправку пинг-запросов. В командной строке нужно ввести ping с флагом -f, и затем имя или IP хоста:
ping -f host.name
Такая команда отправляет тысячи пакетов за одну секунду и время её работы не ограничено. Заканчивают отправку нажатием Ctrl+C, после чего на экран будет выведена обычная статистика.
Читайте в блоге: