Команда ping в Linux с примерами

Команда ping в Linux с примерами

Утилита ping — инструмент командной строки Linux, используемый для проверки доступности хоста в сети. Эта команда отправляет пакеты эхо-запроса Internet Control Message Protocol (ICMP) на целевой хост и ожидает получения ответных пакетов. После чего инструмент ping выводит на экран статистику о количестве отправленных, полученных и потерянных пакетов.

В этой статье мы покажем примеры использования утилиты ping в ОС Linux.

Содержание:

  1. Проверка Интернет-соединения и доступности локального хоста
  2. Ограничение количества эхо-запросов
  3. Установка интервала отправки эхо-запросов
  4. Изменение размера отправляемых пакетов
  5. Имитация DDoS-атаки с помощью ping
  6. Отображение только сводной статистики
  7. Установка времени ожидания на получение пакета
  8. Какими могут быть ответы на эхо-запросы ping
  9. Выводы

Проверка Интернет-соединения и доступности локального хоста

Самый простой метод проверить наличие Интернет-соединения на компьютере — выполнить команду ping в терминале. В качестве ее аргумента можно задать доменное имя или IP-адрес веб-сайта, который постоянно доступен. Например:

 

ping website

Утилита будет продолжать отправлять и получать пакеты ICMP, пока Вы не прервете ее выполнение, нажав сочетание клавиш Ctrl + c. Давайте детальнее разберем вывод команды ping:

  1. Заголовок — строка, указывающая хост, на который отправляются запросы (blog.sedicomm.com в данном случае) и соответствующий IP-адрес (172.66.43.169). Также показывается размер отправляемых пакетов (56 байт в этом примере).
  2. Результаты ping для каждого полученного пакета:
    • размер (64 байта);
    • IP-адрес целевого хоста (172.66.43.169);
    • icmp_seq — порядковый номер;
    • ttl — время жизни (Time to live), оно уменьшается с каждым переходом;
    • time — время, которое требуется клиенту для отправки запроса и получения ответа от сервера, измеряемое в миллисекундах.
  3. Сводная статистика:
    • packets transmitted — количество отправленных запросов ICMP;
    • packets received — количество полученных ответов ICMP;
    • % packet loss — процент потерянных пакетов во время передачи;
    • time — общее время выполнения сеанса ping;
    • rtt min/avg/max/mdev — минимальное, среднее, максимальное и стандартное отклонения времени прохождения в обе стороны для всех пакетов.

Также Вы можете узнать, доступен ли определенный хост в локальной сети. Для этого укажите в качестве аргумента ping имя или IP-адрес нужного узла. Например:

Ограничение количества эхо-запросов

Как мы сказали ранее, по умолчанию утилита ping работает до тех пор, пока пользователь самостоятельно ее не остановит. Тем не менее, у Вас есть возможность указать команде отправить на хост определенное количество пакетов, после чего утилита завершит свое выполнение. Чтобы это сделать, примените опцию -c, в качестве аргумента которой напишите нужное число пакетов. Например:

 

specify count of packets

Читайте также: Как заблокировать запросы ICMP Ping для Linux-систем.

На скриншоте видно, что утилита отправила на хост только 5 пакетов ICMP, как мы и указали.

Установка интервала отправки эхо-запросов

Команда ping по умолчанию отправляет пакеты на хост каждую секунду. Однако, для решения конкретной задачи Вам может понадобиться изменить это время. Чтобы задать значение интервала отправки эхо-запросов, используйте параметр -i и укажите количество секунд. К примеру:

 

ping interval

Изменение размера отправляемых пакетов

Стандартно инструмент ping отправляет пакет с 56 (84) байтами данных.

Важно: 56 — размер пакета в байтах, а 84 — общий размер эхо-запроса в байтах, дополнительно включающий IP-заголовок (20 байт) и ICMP-заголовок (8 байт).

Вы можете изменить размер пакета. Для этого используйте параметр -s с размером пакета в байтах. Например:

 

ping package size

Имитация DDoS-атаки с помощью ping

Опция -f команды ping может использоваться для выполнения flood ping, также известного как атака распределенного отказа в обслуживании (DDoS). Эта опция указывает утилите отправлять большое количество пакетов для перегрузки сетевых ресурсов целевого узла. Тем самым она помогает системным администраторам сымитировать и проанализировать работу сервера / хоста / сайта во время всплеска (резкого увеличения) трафика или DDoS-атаки.

Важно: применять эту опцию может только пользователь с привилегиями root. Например:

 

flood attack simulation

Читайте также: Как установить статический IP-адрес и настроить сеть в Linux.

На скриншоте выше видно, что за 47072 миллисекунды (или 47 секунд) утилита ping отправила на хост 4741 пакет.

Отображение только сводной статистики

Если Вы не хотите, чтобы команда ping отображала на экране информацию о каждом пакете эхо-запроса, используйте опцию -q. Тогда инструмент выведет в терминал только сводною статистику. Для примера:

 

ping summary

Установка времени ожидания на получение пакета

Параметр -W позволяет указать время ожидания для получения ответа на эхо-запрос. Если в течение указанного интервала не получен ответ на один из эхо-запросов, то команда ping будет ждать следующий пакет.

Например, команда ping -W 10 blog.sedicomm.com будет ожидать ответ на каждый пакет в течение 10 секунд:

 

ping timeout

Какими могут быть ответы на эхо-запросы ping

При получении эхо-запроса целевое устройство может ответить несколькими способами, в зависимости от своей настройки, состояния и условий сети. Вот самые распространенные ответы на эхо-запрос:

  • Echo Reply (ICMP Type 0) — указывает на то, что целевое устройство успешно получило пакет и ответило на него;
  • Destination Unreachable (ICMP Type 3) — означает, что хост или маршрутизатор не может доставить пакет до пункта назначения;
  • Time Exceeded (ICMP Type 11) — указывает на то, что значение времени жизни (TTL) пакета истекло до того, как он достиг целевого узла.

Выводы

Утилита ping — полезный инструмент командной строки Linux для проверки доступности хоста в сети. Мы рассказали, как она работает, и продемонстрировали Вам практические примеры ее использования. Надеемся, что эта статья была полезной для Вас!

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

2 комментария. Оставить новый

  • Здравствуйте, как работает Ping при обращении к хосту в другой подсети?

    Ответить
  • Также, как он работает если вы пингуете гугл со своей подсети, если будут прописаны маршруты между вашими подсетями (лучше чтобы это было на маршрутизаторах, а не хостах)

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню