Команда ping в Linux
Всем знакомы ситуации, когда интернет на компьютере неожиданно разрывается, такое поведение можно наблюдать при использовании ADSL модемов, Wifi на большом расстоянии, GSM и других подобных ненадежных технологий. Быстро выяснить есть ли на компьютере интернет можно с помощью утилиты ping.
Но область ее применения намного шире, ее используют сетевые администраторы для проверки доступности удаленного узла в сети, она применяется в различных скриптах и многих других местах. В этой статье будет рассмотрена команда ping в Linux, мы поговорим о том, как пользоваться утилитой, как она работает, рассмотрим ее опции и возможности.
Как работает ping?
Утилита ping — это очень простой инструмент для диагностики сети. Она позволяет проверить доступен удаленный хост или нет и все. Для этого утилита проверяет, может ли хост отвечать на сетевые запросы с помощью протокола ICMP.
Надеюсь, не нужно говорить, что все данные по сети передаются в виде небольших пакетов. Программа передает небольшой пакет с данными ICMP и ожидает получить обратно пакет ответа, если получает, то считается что удаленный узел доступен. ICMP или Internet Control Message Protocol — это надстройка над протоколом IP, которая используется для передачи служебных сообщений и сообщений и ошибках.
Протокол ICMP может передавать только два типа пакетов — это сообщения с отчетами про ошибки и сообщения запросов. В свою очередь, сообщения запросов делятся на:
- Сообщение эхо-запрос;
- Сообщение эхо-ответ.
Попытаемся разобраться что делает команда ping. Итак, когда вы отправляете запрос ping удаленному узлу, утилита устанавливает для каждого пакета уникальный идентификатор, а также TTL и время отправки пакета. Если хост доступен, он отправляет ответ, на основе времени отправки утилита может вычислить время прохождения пакета туда и обратно. Затем отправляется следующий пакет. В конце рассчитывается общее количество отправленных и принятых пакетов, процент потерь и другие данные.
Команда Ping
Теперь нам осталось немного попрактиковаться. Но перед тем, как мы перейдем к практике давайте рассмотрим синтаксис команды и ее опции. Синтаксис довольно прост:
$ ping опции адрес_узла
Формат команды ping очень прост. В качестве адреса узла можно передавать как ip адрес, так и доменное имя. Опции настраивают поведение утилиты. Рассмотрим основные из них:
- -4 — использовать только ipv4 (по умолчанию);
- -6 — использовать только ipv6;
- -A — адаптивный режим, время между отправками пакета адаптируется к времени передачи и приема пакета, но не меньше чем 200мс;
- -b — разрешить ping широковещательного адреса;
- -с — количество пакетов, которые нужно отправить;
- -D — выводить время в виде UNIX timestamp;
- -f — режим флуда, в этом режиме пакеты передаются без задержек, может использоваться для совершения DoS атак на отдельные узлы. Количество точек, которые выводит утилита обозначает количество потерянных пакетов;
- -i — интервал в секундах между отправкой пакетов;
- -I — использовать этот сетевой интерфейс для отправки пакетов;
- -l — режим перегрузки, отправляется очень много пакетов и система не следит за ответными пакетами;
- -n — не получать домены для ip адресов;
- -r — игнорировать таблицы маршрутизации и отправить пакет на указанный интерфейс;
- -s — размер одного пакета;
- -t — установить TTL вручную;
- -v — более подробный вывод.
Теперь, когда мы рассмотрели основные параметры команды ping и ее синтаксис, пришло время практики, дальше поговорим о том, как сделать ping определенного узла в Linux.
Как пользоваться Ping?
Для проверки работоспособности сети часто используется программа ping любого сайта, который всегда доступен, например, google.com или еще проще и короче ya.ru. Вам будет достаточно передать утилите в параметрах этот адрес, она сама найдет ip и сделает все нужное:
Как я и писал выше, для каждого пакета выводится уникальный идентификатор icmp_seq, количество узлов до целевого узла ttl и время, потраченное на доставку пакета time. Чтобы остановить ping нажмите сочетание клавиш Ctrl+C. В конце утилита вывела общую статистику:
- packets transmitted — отправлено пакетов;
- received — получено пакетов;
- packet loss — процент потерянных пакетов;
- time — обще время работы;
rtt min/avg/max/mdev — минимальное время/среднее время/максимальное время/квадратичное отклонение.
Если выполнение команды ping не остановить, то пакеты могут отправляться очень долгое время, это создает дополнительную нагрузку на сервер и поэтому не желательно. Вы можете сразу в вызове команды ограничить количество отправляемых пакетов с помощью опции -c:
Точно так же как мы выполняем ping для домена, можно указать ip адрес напрямую. Это позволяет проверить есть ли сеть когда неверно настроены серверы DNS. Например:
Следующий вид отправки ping сообщений, это ping флуд. С помощью таких пакетов можно выполнить нагрузочное тестирование канала или даже заглушить интернет соединение на одной из машин. Но эти функции можно использовать только с правами суперпользователя. Для организации ping флуда укажите опцию -f:
По умолчанию, в обычном режиме, каждый следующий пакет отправляется, когда получен ответ на предыдущий. Но вы можете сами установить интервал между отправкой пакетов -i:
Здесь программа ping выполняет так званный, настраиваемый флуд, вы указываете с какой интенсивностью нужно отправлять пакеты. С помощью опции -D вы можете увидеть Unix Timestamp для каждого сообщения:
Выводы
В этой статье мы рассмотрели что такое команда ping в linux, как ее использовать основные параметры и методы применения. Этот очень простой инструмент можно применять для тестирования неполадок сети и их исправления. В этом плане утилита может стать незаменимой.
Команда Ping в Linux: Руководство по Использованию
Команда PING Linux, или Packet Internet Groper — популярная утилита. Её основная цель — управление состоянием сетевого подключения между источником и устройством с помощью IP-сети. В этом руководстве вы узнаете, как она работает и чем может быть полезна вашему проекту.
Что Такое Команда Ping в Linux?
С помощью команды Linux ping мы также можем отправить сообщение узлу и получить ответ из сети, проверив скорость соединения. Это работает следующим образом: утилита отправляет серию ICMP-сообщений (Internet Control Message Protocol) целевому хосту и ожидает ответ — ICMP эхо-ответ от хоста и устройства. Таким образом, мы получаем информацию о выполнении сети и целостности соединения с сервером.
По сути, команда отправляет сообщение ECHO_REQUEST и получает ECHO_RESPONSE. Если в сообщении указано “fast ping low latency” (“быстрый пинг с низкой задержкой”) это означает быстрое соединение. Измеряется в миллисекундах.
PING предварительно установлена на каждом современном компьютере, VPS или другом устройстве, поскольку это довольно востребованная утилита. Команда ping в Linux — это быстрый и простой способ «проверить пинг», или соединение между устройством и хостом (сервером).
Будь то локальная (LAN) или глобальная вычислительная сеть (WAN), ping предоставляет точные сведения о подключении. Вы также получаете статистические сводки, которые включают информацию о минимальных и максимальных раундах, количестве переданных и полученных пакетов, процент потерянных пакетов и стандартное отклонение от среднего значения. Таким образом, пользователь может полностью проверить качество сетевого соединения между двумя устройствами. Здорово, не так ли?
Проверка пинга между вашим компьютером и целевым хостом позволит вам определить:
- Статус целевого хоста: доступен ли он
- Измерение времени соединения (хост-компьютер-хост)
- Процент потерянных пакетов.
Как Установить Команду Ping в Linux
Помните, что сначала мы должны подключиться к нашему VPS по SSH. Вы можете обратиться к нашему руководству по PuTTY, если у вас возникли проблемы.
В большинстве версий Linux ping установлена по умолчанию. Вы можете проверить это, выполнив команду:
Если ping отсутствует, быстрое обновление системы должно помочь:
Как Пользоваться Командой Linux Ping?
В Linux есть разные варианты, как можно проверить соединение между двумя сетями:
1. Проверка Соединения
Вы можете запустить в своей системе простую и быструю команду, чтобы проверить состояние целевого хоста и сервера или компьютера.
В этом примере мы проверим сетевое соединение с www.google.com:
Если вы не знаете домен, вы также можете использовать IP-адрес. Здесь IP-адрес Google отображается в скобках вместе с полной статистической сводкой.
- min — минимальное время ответа
- avg — показывает среднее время ответа
- max — максимальное время ответа
Чтобы остановить команду ping в Linux, используйте Ctrl + C. Это остановит отправку пакетов на целевой хост. Также команда остановит все процессы в терминале.
2. Указание Количества ECHO_REQUEST
Параметр команды -c используется для указания количества пакетов или запросов, которые хочет выполнить пользователь.
Синтаксис будет выглядеть так:
Здесь * — количество пингов, которые вы хотите выполнить.
3. Звуковой Пинг
Опция команды Linux ping -a создаёт звуковой сигнал, чтобы проверить, является ли хост активным или нет, таким образом сообщая вам об этом.
Команда будет выглядеть так:
Помните, чтобы завершить пинг, нажмите Ctrl+C.
4. Установка Интервалов
Опция –i в Linux позволяет пользователю устанавливать интервалы в секундах между каждым пакетом.
Команда имеет ту же структуру, что и предыдущие:
Цифры, которые вы видите в команде могут быть изменены по вашему желанию.
5. Получать Только Сводку Команды Ping
Чтобы получить только сводную информацию о сети, используйте параметр -q в командной строке терминала Linux:
Опять же, мы по-прежнему указываем -c 7 для выполнения семи запросов, но получаем только сводку, поскольку добавили -q.
6. Тестируем Нагрузку на Сеть с Помощью Команды Linux Ping
Команда ping позволяет отправлять 100 или более пакетов в секунду с помощью следующей команды:
Это отличный вариант, если вы хотите проверить, как ваш сайт или сервер справляется с нагрузкой на сеть — большим количеством запросов.
Итоги
Команда Ping в Linux — это популярная утилита для устранения проблем доступности хостов в сети. Она помогает нам понять причину, по которой сайт может не загружаться.
Нам нужно найти причину проблемы, ведь это может быть что угодно: подключение к интернету, потеря сети или сайт больше недоступен. Ping — команда, которая помогает определить доступность сетевого устройства.
Это очень быстрая и понятная команда, поэтому многие пользователи предпочитают использовать именно её для устранения неполадок. Теперь вы тоже знаете, как она работает!
Автор
Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.