- Пинг с размером пакета linux
- ОПИСАНИЕ
- ОПЦИИ
- ОПИСАНИЕ ПАКЕТОВ ICMP
- ПОВТОРЯЮЩИЕСЯ И ПОВРЕЖДЁННЫЕ ПАКЕТЫ
- ТЕСТИРОВАНИЕ НА РАЗЛИЧНЫХ ДАННЫХ
- ВРЕМЯ АКТУАЛЬНОСТИ (TTL)
- ИЗВЕСТНЫЕ ОШИБКИ
- СМ. ТАКЖЕ
- ИСТОРИЯ
- Команда Ping в Linux с примерами
- Использование команды ping в Linux
- Отправить только N количество пакетов
- Отправить пинг только на ограниченное время
- Изменить интервал времени между двумя пингами
- Изменить размер пакета
- DoS-атака с пингом, который также называется Ping of Death.
- Бонусный совет: отправьте звуковые сигналы
- Устранение неисправностей команды Ping
- Нет ответа на пинг
- Хост назначения недоступен
- Время ожидания запроса
- Готовы пинговать?
- Команда ping в Linux
- Параметры
- Примеры
Пинг с размером пакета linux
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 с примерами
Ping в основном используется для проверки доступности удаленного хоста или нет. Удаленным хостом может быть веб-сервер, ваш маршрутизатор или система в вашей локальной сети.
Как работает ping? Фактически он отправляет небольшие ICMP- пакеты на удаленный хост и ожидает ответа. Если хост включен, вы должны увидеть ответ.
Это как технология сонара, используемая на подводных лодках. Подводные лодки посылают импульсы звукового сигнала и ждут возвращения эха.
Итак, как вы используете Ping в Linux? Каковы различные параметры команды Ping? Позвольте мне показать вам некоторые из общих способов использования команды Ping.
Вы знали? Команда Ping правильно написана как PING и обозначает Packet Internet Groper.
Использование команды ping в Linux
Вы можете использовать команду ping с IP-адресом или именем хоста/URL.
Предположим, мы пингуем Google. Он отправит ICMP-пакеты размером 56 байтов на google.com.
Вы должны вручную остановить команду ping, иначе она продолжит выполняться. Вы можете использовать Ctrl + C терминала ярлык, чтобы остановить команду ping в Linux, как мы сделали в приведенном выше примере.
Когда вы останавливаете команду ping , она представляет вам сводку передачи. Вы можете увидеть статистику, такую как количество переданных ICMP-пакетов, принятых пакетов, потерянных пакетов и т. д.
Теперь, когда вы знаете, как пинговать в Linux, давайте посмотрим на некоторые другие опции команды ping.
Отправить только N количество пакетов
Если вы не хотите, чтобы команда ping выполнялась вечно без остановки вручную, вы можете использовать опцию -c .
При этом вы можете указать количество пакетов, которые команда ping должна отправить перед автоматической остановкой.
Отправить пинг только на ограниченное время
Помимо установки количества отправляемых пакетов, вы также можете указать, как долго будут отправляться пакеты.
Например, если вы хотите отправлять ping-пакеты всего за 5 секунд, вы можете использовать его следующим образом:
Изменить интервал времени между двумя пингами
По умолчанию ping отправляет пакеты с интервалом в одну секунду. Вы можете изменить этот интервал времени с помощью опции -i .
Для отправки ICMP-пакетов с интервалом в 3 секунды вы можете использовать команду Ping, например:
Вы также можете уменьшить временной интервал между пингами.
Однако, если вы попытаетесь уменьшить временной интервал ниже 0,2 секунды (200 мс), вы увидите ошибку:
Не беспокойтесь Вы все еще можете пропинговать с интервалом менее 200 мс. Но для этого нужно использовать пинг с правами root.
Изменить размер пакета
Размер пакета ICMP по умолчанию, отправляемого Ping, составляет 56 байтов. Это также можно изменить с помощью опции -s .
DoS-атака с пингом, который также называется Ping of Death.
Одна из самых простых атак DoS – Ping of Death. При такого рода атаках злоумышленник отправляет большое количество запросов ping за очень короткий промежуток времени. Если сервер не настроен должным образом, он потерпит крах при обработке запроса ping, и веб-сайт закроется.
Команда ping имеет встроенную функцию для этого. Это называется ping flooding , и этого можно достичь с помощью опции -f . Вам понадобятся права sudo для запуска этой опции с нулевым интервалом.
Когда вы запустите эту команду, вы увидите, что некоторые точки появляются и исчезают в выходных данных. Каждый ‘.’ обозначает запрос, тогда как ответом является возврат (поэтому точки исчезают).
Этот параметр проверки связи полезен при тестировании нагрузочной способности сервера.
Бонусный совет: отправьте звуковые сигналы
Вы можете отправлять звуковые сигналы с опцией -a . При этом вы услышите звуковой сигнал для каждого успешного пинга.
Обратите внимание, что не все дистрибутивы Linux настроены на создание звукового сигнала. Мы проверили это на Ubuntu 18.04, и могли слышать звуковой сигнал.
Устранение неисправностей команды Ping
До сих пор мы видели успешные примеры команды ping. Но это не произойдет все время. Давайте рассмотрим некоторые распространенные ошибки, которые вы можете увидеть, и поймите причину этих ошибок.
Нет ответа на пинг
Вы можете заметить, что некоторые хосты не отвечают на запрос ping. Кажется, что команда ping зависла, потому что нет ответа. Команда просто остается там, она даже не истекает.
Если вы прервете команду ping, вы увидите странную статистику.
Как видите, было передано 100 пакетов, но ни на один из них не было получено ответа.
Скорее всего, потому что некоторые серверы отбрасывают пакеты ICMP. Это мера безопасности, чтобы избежать ping-флудов.
Хост назначения недоступен
Эта ошибка может возникать по одной из двух причин:
либо в локальной системе нет маршрута к удаленному хосту;
или маршрутизатор конечной точки не имеет маршрута к удаленному хосту.
Если вы видите только ошибку «целевой хост недоступен», это означает, что вашей системе не удалось найти маршрут к удаленному хосту.
С другой стороны, если вы видите ошибку в части ответа «Reply from », это означает, что пакет был отправлен за пределы вашей сети, но он не смог достичь пункта назначения.
Иногда серверы также блокируют трафик ICMP, который может показать эту ошибку.
Время ожидания запроса
Эта ошибка означает, что пакеты достигли удаленного сервера, но ответ не смог достичь вашей системы. Проблема может быть потеря пакетов или ошибка маршрутизации.
Готовы пинговать?
Мы надеемся, что эта статья помогла вам лучше понять команду ping в Linux.
Если у вас есть вопросы или предложения, пожалуйста, оставьте сообщение в разделе комментариев.
Источник
Команда ping в Linux
Бывают ситуации, когда резко пропадает интернет или компьютер в локальной сети перестает работать, чтобы быстро определить работает ли сеть, работает ли интернет — поможет ping. Эта универсальная команда есть во всех операционных системах. Она проверяет доступность удаленного хоста, отправляя ICMP-пакеты.
Согласно модели OSI, все данные в компьютерном мире передаются небольшими пакетами. Утилита посылает эхо-запрос по протоколу ICMP и ожидает получить ответ, если получает, то считается что узел доступен.
Параметры
Посмотрим, что говорит справка команда ping —help.
Результат выполнения ping —help
Как мы видим выше, синтаксис очень простой. В качестве адреса мы пишем доменное имя или ip-адрес узла. Например ip-адрес локального компьютера может выглядеть так: 192.168.0.1. Рассмотрим параметры или их еще называют аргументы:
-c. Количество пакетов, которые нужно отправить.
-w. Ограничение посылаемых пакетов по времени. В аргументе указывается время в секундах.
-i. Интервал в секундах между данными.
-d. Если дословно переводить, то запретить адрес хоста.
-r. Игнорировать правила таблицы маршрутизации.
-4. Использовать только четвертую версию интернет протокола IPv4.
-6. Соответственно, только 6 версию IPv6.
-b. Разрешить широковещательный адрес.
-D. Вывести время.
-v. Подробный вывод.
-f. Режим flood. Данные передаются без задержки. Опция может использоваться как Dos-атака. Доступна только с правами root.
-t. Установить TTL.
-?. Вывести справочную информацию.
-s. Установить размер пакета.
Примеры
Для проверки работоспособности интернета часто пингуем популярные сайты яндекс или гугл, даже раньше ходил слух, что яндекс специально под это дело купил себе дополнительные сервера.
Пингуем сайт ya.ru, в качестве аргумента ничего не ставим, просто указываем название сайта.
В Линуксе при выполнение этой операции пакеты будут посылаться очень долго, в отличие от Windows. Там всего 4 пакета.
Результат выполнения ping ya.ru
Как остановить ping в linux? Для этого необходимо прервать процедуру принудительно, нажимаем горячие клавиши ctrl + C.
Результат нажатия клавиш ctrl + c
На скриншоте выше смотрим статистику:
- 14 packets transmitted — отправлено пакетов;
- 14 received — количество полученных пакетов;
- 0% packet loss — сколько процентов потерянных пакетов;
- 13322mc time — время работы;
Чтобы не прерывать процедуру в будущем, можно ввести дополнительный аргумент «-с», тем самым мы зададим количество отправляемых пакетов.
Источник