Linux ping большими пакетами

Команда 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 — более подробный вывод.
Читайте также:  Ruby linux or windows

Теперь, когда мы рассмотрели основные параметры команды 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 для каждого сообщения:

Читайте также:  Узнать днс серверы linux

Выводы

В этой статье мы рассмотрели что такое команда ping в linux, как ее использовать основные параметры и методы применения. Этот очень простой инструмент можно применять для тестирования неполадок сети и их исправления. В этом плане утилита может стать незаменимой.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Команда Ping в Linux

Ping или Packet Internet Groper — это утилита для управления сетью, которая может проверить состояние соединения между компьютером/устройством источника и назначения через IP-сеть. Она также помогает оценить время, необходимое для отправки и получения ответа от сети.

У каждого из нас есть любимые веб-сайты, которые мы часто посещаем; если один из них не загружается, мы очень хотим знать, почему. Потому ли, что у нас нет подключения к Интернету, или из-за проблем с нашим поставщиком услуг Интернета мы не можем получить доступ к сайту? Другой причиной может быть недоступность самого сайта. Какой бы ни была причина, команда Linux Ping может дать вам все ответы.

Ping использует протокол Internet Control Message Protocol (ICMP) для отправки и получения эхо-сообщений на хост или целевой компьютер и обратно, чтобы информировать нас о производительности сети. На целевой компьютер отправляется сообщение ICMP-запрос; если IP-адрес цели доступен, он отправляет ответ ICMP-сообщением на главный компьютер. Это информирует нас о состоянии подключения к сети, например, о времени обхода — времени, которое требуется для отправки и получения информационного пакета.

Использование команды Ping

В терминале Linux введите следующую команду:

Вот вывод, который вы получите:

Команда Linux ping

Давайте опишем (в алфавитном порядке) часто используемые опции, которые вы можете видеть выше:

Опция Описание
a Используйте эту опцию для звукового сигнала, когда узел доступен.
b Используйте эту опцию, чтобы разрешить пинговать широковещательный адрес
B Используйте эту опцию, если вы не хотите разрешать пингу изменять адрес источника.
c (count) Используйте эту опцию, чтобы установить количество раз для отправки запроса ping
d Используйте эту опцию для установки опции SO-DEBUG на используемом сокете.
f Используйте эту опцию для заполнения сети, отправляя сто или более пакетов в секунду
i (interval) Используйте эту опцию для указания интервала между последовательными передачами пакетов. По умолчанию значение интервала равно 1 секунде
I (interface address) Используйте эту опцию для установки адреса источника на указанный адрес интерфейса. Эта опция необходима при пинге локального адреса канала IPv6. Ее аргументом может быть IP-адрес или имя устройства.
l (preload) Используйте эту опцию, чтобы задать количество пакетов, которые нужно отправить, не дожидаясь ответа. Для выбора значения более 3 необходимо быть суперпользователем.
n Используйте эту опцию для отображения сетевых адресов в виде чисел, а не имен хостов.
q Используйте эту опцию для отображения тихого вывода. Это означает, что при запуске и завершении работы отображается только сводка.
T (ttl) Используйте эту опцию для установки времени жизни
v Используйте эту опцию для подробного вывода
V Используйте эту опцию для отображения версии и выхода
w (deadline) Используйте эту опцию, чтобы задать тайм-аут в секундах перед завершением ping, независимо от того, сколько пакетов было отправлено или получено.
W (timeout) Используйте эту опцию, чтобы задать время (секунды) ожидания ответа.
Читайте также:  Linux operating system interface

Некоторые основные функции Ping

Ниже приведены некоторые основные функции ping, которые вы будете использовать для проверки производительности вашей сети:

Пинг хоста на доступность

Вы можете проверить, жив ли хост или нет, с помощью следующей команды ping:

Нажмите Ctrl+C для завершения команды

Пинг хоста на доступность

Увеличение/уменьшение интервала между пакетами ping

По умолчанию в Linux интервал времени между отправкой каждого пакета составляет 1 секунду. Вы можете увеличить временной интервал, задав значение больше 1, и уменьшить его, задав значение меньше 1.

Вот пример увеличения временного интервала между двумя пингами:

Вот пример уменьшения временного интервала между двумя пингами:

Как вы можете видеть на следующем изображении, вы должны быть суперпользователем, чтобы установить этот временной интервал меньше 0,2 секунды:

Увеличение/уменьшение интервала между пакетами ping

Поэтому команда должна быть выполнена с правами sudo. Она должна выглядеть следующим образом,

Введите пароль, когда появится запрос, и команда должна сработать.

Изменение размера пакета ping

Размер пакета ping по умолчанию составляет 56 байт. Вы можете изменить его с помощью следующей команды:

ping -s packetsize имя хоста/ip

Здесь мы устанавливаем размер пакета в 100; вы можете увидеть значение 100 в первой строке вывода:

Изменить размер пакета ping

Настройка ping на отправку необходимого количества пакетов

Вы можете настроить ping на отправку желаемого количества пакетов следующим образом:

ping -c NumberOfPackets имя хоста/ip

В следующем примере мы задаем количество пакетов равным 5:

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

Команда Ping позволяет суперпользователям отправлять 100 и более пакетов в секунду с помощью следующей команды:

Наводнение сети

Ping печатает символ «.» при отправке ping и «/» при получении.

Установка таймаута пинга

Вы можете установить лимит времени, по истечении которого ping завершит работу, независимо от того, сколько пакетов ping было отправлено или получено:

ping -w timeinseconds имя хоста/ip

Здесь мы используем 3 секунды в качестве таймаута:

Установка таймаута пинга

«Звуковой пинг»

Команду ping можно настроить на воспроизведение звукового сигнала, чтобы проверить, доступен ли хост, следующим образом:

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

Похожие записи:

Источник

Оцените статью
Adblock
detector