- Linux ping количество пакетов
- ОПИСАНИЕ
- ОПЦИИ
- ОПИСАНИЕ ПАКЕТОВ ICMP
- ПОВТОРЯЮЩИЕСЯ И ПОВРЕЖДЁННЫЕ ПАКЕТЫ
- ТЕСТИРОВАНИЕ НА РАЗЛИЧНЫХ ДАННЫХ
- ВРЕМЯ АКТУАЛЬНОСТИ (TTL)
- ИЗВЕСТНЫЕ ОШИБКИ
- СМ. ТАКЖЕ
- ИСТОРИЯ
- Команда ping в Linux
- Как работает ping?
- Команда Ping
- Как пользоваться Ping?
- Выводы
- Команда Ping в Linux: Руководство по Использованию
- Что Такое Команда Ping в Linux?
- Как Установить Команду Ping в Linux
- Как Пользоваться Командой Linux Ping?
- 1. Проверка Соединения
- 2. Указание Количества ECHO_REQUEST
- 3. Звуковой Пинг
- 4. Установка Интервалов
- 5. Получать Только Сводку Команды Ping
- 6. Тестируем Нагрузку на Сеть с Помощью Команды Linux Ping
- Итоги
Linux ping количество пакетов
ping [ -LRUbdfnqrvVaAB ] [ -c количество ] [ -i интервал ] [ -l преднагрузка ] [ -p шаблон ] [ -s размер-пакета ] [ -t ttl ] [ -w ограничение-на-время-работы ] [ -F идентификатор-потока ] [ -I адрес ] [ -M указание ] [ -Q тип-обслуживания ] [ -S буфер-отправки ] [ -T параметр-временной-метки ] [ -W время-ожидания-ответа ] [ переход . ] назначение
ОПИСАНИЕ
Датаграммы ECHO_REQUEST состоят из заголовков IP и ICMP, структуры данных struct timeval и произвольного числа несмысловых байтов для заполнения пакета.
ОПЦИИ
В RFC 2474 этот байт переопределён как DS (Differentiated Services — дифференцированные службы): разряды 0-1 отведены для отдельных данных (тут будет использоваться ECN) разряды 2-7 для DSCP (Differentiated Services Codepoint — точка кода дифференцированных служб) -q Выводить только начальные и итоговые данные (не выводить информацию об отдельных запросах). -R Записывать маршрут. Для пакетов ECHO_REQUEST будет включен параметр RECORD_ROUTE и на экран будет выведен буфер маршрута для возвращённых пакетов. Заметим, что в заголовок IP помещается не больше 9 таких маршрутов. Многие узлы игнорируют или не отбрасывают этот параметр. -r Не использовать обычные таблицы маршрутизации и передавать данные прямо на компьютер, подключенный к интерфейсу. Если компьютер не находится в сети с прямым подключением, то возвращается сообщение об ошибке. Этот параметр может использоваться вместе с -I для проверки локальной системы через интерфейс, по которому не идет маршрутизация (например после того, как интерфейс был сброшен routed(8)). -s размер-пакета Размер пакетов для пересылки. По умолчанию — 56, что соответствует размеру 64 байта после добавления 8 байтов заголовка ICMP. -S буфер-отправки Размер буфера отправки соединения. По умолчанию буферизируется не больше одного пакета. -t ttl Время актуальности пакета IP (ttl — Time to Live). -T параметр-временной-метки Параметры временной метки IP. Возможные значения параметра-временной-метки : tsonly (только временная метка), tsandaddr (временная метка и адреса) и tsprespec хост1 [хост2 [хост3 [хост4]]] (отмечать переходы). -M указание Стратегия обнаружения маршрута MTU. Возможные значения: do (запретить фрагментацию, даже локальную), want (выполнять обнаружение PMTU, фрагментировать локально если размер пакета слишком большой) и dont (не устанавливать флаг DF). -U Выводить полное время прохода (старое поведение). По умолчанию выводится сетевое время прохода, которое может отличаться от реального, например из-за ошибок DNS. -v Выводить подробную информацию. -V Вывести информацию о версии и закончить работу. -w ограничение-на-время-работы Время, по истечении которого ping завершит свою работу независимо от количества посланных и принятых пакетов. При указании этого параметра время ожидания для одного пакета игнорируется и работа может быть завершена ранее указанного срока только в случае получения информации об ошибке (т.е. уведомления о том, что ответных пакетов точно не будет). -W время-ожидания-ответа Время ожидания (в секундах) ответного пакета. Принимается во внимание только если не было принято ни одного ответа. В противном случае программа ожидает получения двух ответов.
При использовании команды ping для локализации неполадки сначала запустите её с адресом локального хоста для проверки работоспособности локального сетевого интерфейса. Затем проверяйте связь посредством ping со всё более удалёнными компьютерами и шлюзами. Время прохождения сигналов в обе стороны и потери пакетов подсчитываются и анализируются позднее. Если принимаются дублированные пакеты, то они не включаются в статистику утерянных пакетов, хотя время прохода таких пакетов включается в статистику минимального/среднего/максимального времени. После отправки и получения указанного количества пакетов или при прерывании работы программы сигналом SIGINT выводится краткий итог работы. Более краткую статистику можно получить без прерывания процесса с помощью сигнала SIGQUIT.
Если ответные пакеты не будут получены, то программа завершит работу с кодом выхода 1. Если указаны количество пакетов и ограничение-на-время-работы , но по истечении этого времени принято менее запрошенного числа пакетов, то программа также завершит работу с кодом выхода 1. При других ошибках выход будет произведен с кодом 2. Иначе программа завершает работу с кодом 0. Эти значения позволяют использовать коды выхода для определения доступности серверов и компьютеров в сети.
Эта программа предназначена для тестирования сетей, управления сетями и измерения производительности. Из-за нагрузок, которые она создаёт в сети, неразумно использовать ping в рабочее время или в автоматических сценариях.
ОПИСАНИЕ ПАКЕТОВ ICMP
Если заданный размер данных не меньше размера struct timeval, то программа включает в них временную метку, используемую для измерения времени прохода сигнала в обе стороны. В противном случае такое время не будет измеряться.
ПОВТОРЯЮЩИЕСЯ И ПОВРЕЖДЁННЫЕ ПАКЕТЫ
Повреждённые пакеты являются прямым свидетельством неполадок в аппаратной части на одном из участков сети, через который проходили пакеты.
ТЕСТИРОВАНИЕ НА РАЗЛИЧНЫХ ДАННЫХ
В любом случае, такие проблемы означают, что вам предстоит очень много работ по тестированию и выявлению вышедшего из строя элемента. Если вам повезёт, то вы найдёте файл, который вообще не будет передаваться по сети, или будет передаваться очень долго (по сравнению с файлами такого же размера), и затем сможете исследовать его на предмет возможных проблемных шаблонов, проверить которые можно с помощью ключа -p программы ping .
ВРЕМЯ АКТУАЛЬНОСТИ (TTL)
Согласно спецификации TCP/IP значение поля TTL для пакетов TCP должно быть равно 60, но многие системы используют меньшие значения (4.3 BSD использует 30, 4.2 использует 15).
Максимальное значение данного поля равно 255, и многие Unix-системы устанавливают поле TTL для пакетов ICMP ECHO_REQUEST в 255. Поэтому иногда получается, что вы можете проверить связь командой `ping’ до некоторых компьютеров, но не можете связаться с ними программами telnet (1) или ftp (1).
В обычном режиме ping выводит значения времени актуальности принятых (возвращённых) пакетов. При приёме пакета удалённой системой она может выполнить одно из трёх возможных действий с полем TTL в ответ: * Не изменять его; это делали системы Berkeley Unix до выпуска BSD 4.3 Tahoe. TTL в принятом пакете будет 255 минус количество пройденных маршрутизаторов на пути в обе стороны. * Установить его в 255: это то, что системы Berkeley Unix делают сейчас. В этом случае значение TTL в принятом пакете будет 255 минус количество пройденных маршрутизаторов от удалённой системы до исходной. * Установить его в какое-либо другое значение. Некоторые машины устанавливают его равным используемому для TCP пакетов, например, либо 30 либо 60. Другие системы могут использовать вообще непредсказуемые значения.
ИЗВЕСТНЫЕ ОШИБКИ
СМ. ТАКЖЕ
ИСТОРИЯ
Настоящим документом описывается адаптированная для Linux версия программы.
Источник
Команда 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 -i 0.2 losst.ru
Здесь программа 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. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.
Источник