Linux ping размер пакета

Содержание
  1. Linux ping размер пакета
  2. ОПИСАНИЕ
  3. ОПЦИИ
  4. ОПИСАНИЕ ПАКЕТОВ ICMP
  5. ПОВТОРЯЮЩИЕСЯ И ПОВРЕЖДЁННЫЕ ПАКЕТЫ
  6. ТЕСТИРОВАНИЕ НА РАЗЛИЧНЫХ ДАННЫХ
  7. ВРЕМЯ АКТУАЛЬНОСТИ (TTL)
  8. ИЗВЕСТНЫЕ ОШИБКИ
  9. СМ. ТАКЖЕ
  10. ИСТОРИЯ
  11. ИТ База знаний
  12. Полезно
  13. Навигация
  14. Серверные решения
  15. Телефония
  16. Корпоративные сети
  17. 15 примеров команды PING для диагностики сети
  18. Про Linux за 5 минут | Что это или как финский студент перевернул мир?
  19. Для чего используется команда PING?
  20. Как работает команда PING?
  21. Можно ли использовать PING с прокси-сервером?
  22. Ping IPv6 адресов
  23. Ping конкретного порта
  24. Ping с выводом времени
  25. Ping всех устройств в указанной подсети
  26. Как завершить команду PING?
  27. Завершение работы команды по счетчику
  28. Где расположена утилита PING?
  29. Проверка задержки командой PING
  30. Поиск идеального значения MTU
  31. Ping на 2-ом уровне OSI (использование arping)
  32. Ping по имени узла
  33. Ping маршрута (traceroute)
  34. Запустить команду если ping вернул ошибку
  35. Установление размера пакета ping
  36. Отключение команды ping
  37. Заключение

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. Эти значения позволяют использовать коды выхода для определения доступности серверов и компьютеров в сети.

Читайте также:  Parallels windows нет сети

Эта программа предназначена для тестирования сетей, управления сетями и измерения производительности. Из-за нагрузок, которые она создаёт в сети, неразумно использовать 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 версия программы.

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

15 примеров команды PING для диагностики сети

10 минут чтения

Благодаря Linux, у нас есть очень много инструментов облегчающих администрирование и диагностику сети. В этом плане команда PING является одним из самых полезных инструментов для системных и сетевых администраторов.

Мини — курс по виртуализации

Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена

Сама базовая возможность этой утилиты – определить доступен ли тот или иной хост. Тем не менее в этом материале мы приведем примеры расширенных возможностей этой команды в системе Linux.

Про Linux за 5 минут | Что это или как финский студент перевернул мир?

  • Для чего используется команда PING?

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

    • измерение времени за которое общаются два хоста;
    • выявление IP адреса конкретного хоста, как в локальной сети, так и в глобальной
    • она может быть частью bash скрипта для автоматической проверки сетевого устройства
    • проверка связи с конкретным устройством.

    Как видно, эта команда очень необходима для администрирования сети и серверов.

    Как работает команда PING?

    Принцип работы команды Ping прост: она посылает серию пакетов маленького размера на указанное устройство.

    Для тестирования устройства может быть использован либо IP-адрес, либо имя хоста. После отправки пакета, утилита проверяет и измеряет время ответа целевого устройства.

    Как вы могли предположить, время ответа зависит от нескольких условий в том числе географическое расположение или устройств, расположенных между источником и целевым устройством.

    Читайте также:  Как сделать чтобы при закрытии крышки ноутбука он не выключался windows 10

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

    Однако, на основе полученной информации утилита будет судить о состоянии целевого устройства.

    Синтаксис команды следующий:

    Ниже приведены некоторые полезные и часто используемые ключи для этой команды:

    • -c: Позволяет указать количество пакетов для отправки.
    • -s: Позволяет изменять размер пакета по умолчанию.
    • -v: Отображает текущее состояние выполнения команды.
    • -w: Указывает в секундах время завершения команды.
    • -i: Позволяет указать интерфейс, с которого будут идти запросы.

    Можно ли использовать PING с прокси-сервером?

    Прокси – это сервер или приложение играющее роль посредника для соединения двух хостов в сети. Это своего рода «человек посередине», который отправляет запросы прямо к хосту.

    Проблема в том, что команда PING требует прямого соединения между устройствами. Таким образом, команда Ping не может функционировать если перед ним стоит прокси-сервер.

    Как вариант, можно воспользоваться сайтами, которые предлагают команду Ping как услугу. С другой стороны, для решения некоторых задач с командой Ping, можно использовать команду curl . Также можно прибегнуть к помощи VPN, который спрячет ваш реальный IP.

    Ping IPv6 адресов

    По умолчанию, когда запускаем команду PING, мы используем IP версии 4. Однако, с появлением протокола IPv6, все чаще стали встречаться адреса такого формата.

    Ядро Linux поддерживает IPv6 начиная с версии 2.2, так что все дистрибутивы Linux поддерживают этот протокол.

    Базовый синтаксис таков:

    В старых версиях была команда ping6 . В новых дистрибутивах её нет и весь функционал объединен с ping .

    Как и при работе с IPv4, ключом –c можем указать число пакетов, для отправки, а ключ –i – определяет интерфейс для исходящих запросов.

    Ping конкретного порта

    Иногда приходится проверят доступен ли тот или иной порт на проверяемом хосте. К сожалению, команда Ping не имеет такой возможности, но это можно сделать с помощью telnet , который по умолчанию установлен на Linux.

    Чтобы проверить доступность порта просто введите следующую команду:

    Ping с выводом времени

    Хотя команда ping дает много полезной информации, но этого может быть недостаточно. Тем не менее, есть возможность настроить команду так, чтобы она показала дату и время отправки пакета. Это может сделать вывод приятней и полезней для скриптов и логирования.

    Для этого достаточно прописать указанную ниже команду. Но вам придется установить пакет ccze .

    Как видно из скриншота, команда показывает дату и время отправки каждого пакета.

    Ping всех устройств в указанной подсети

    Командой Ping можно посылать сигнал всем хостам в сети или подсети. Для этого нужно запустить ping с ключом –b на широковещательный адрес, который заканчивается на 255. Например:

    Итак, если хост назначения недоступен, значит либо там блокируются ICMP пакеты, либо есть проблемы с сетью или таблицей маршрутизации.

    Как завершить команду PING?

    По умолчанию, в системе Linux команда Ping непрерывно посылает пакета на хост. Но если нужная информация получена, то необходимо как-то прервать выполнение команды. Для этого просто нужно нажать комбинацию клавиш CTRL+C .

    После этого команда немедленно остановится.

    Завершение работы команды по счетчику

    Вы можете ограничить число посылаемых пакетов. Например, если поставить число пакетов равным 10, то после отправки указанного числа пакетов выполнение команды прекратится.

    Где расположена утилита PING?

    В Unix-подобных системах таких, как Linux бинарные файлы обычно располагаются по пути

    В этой папке можно найти все множество бинарных файлов, которые мы используем как команды в терминале. В других ОС семейства Linux, они могут быть расположены в:

    Проверить это можем командой ls :

    На скриншоте видно, что команда ping находится в папке

    Другой метод, которым можно найти место расположения команд это which :

    На выводе она даст следующую информацию:

    Проверка задержки командой PING

    Одна из возможностей, предоставляемых командой PING, является возможность измерения времени отклика сети. По-другому это называется задержка или время ожидания.

    Чтобы измерить задержку введи указанную команду и обратите внимание на ввыод:

    Как вы могли заметить, каждый пакет был отправлен с конкретным временем ответа. В конце же есть строка, которая начинается на:

    Второе значение после знака равенства – это время задержки. В нашем случае он равен 6,798.

    С помощью этого показателя мы можем определить хосты, связь с которыми хуже и приять соответствующие меры.

    Поиск идеального значения MTU

    MTU (Maximum Transmission Unit) это максимальный размер пакета, который может быть передан по сети.

    Читайте также:  Драйверы от hp scanjet 4500c для windows

    Сегодня, в целях безопасности, в сетях создаются препятствия для работы MTU. Но большинство локальных сетей на основе Ethernet использует MTU размером 1500 байт.

    Если нужно найти самый подходящий размер MTU с помощью команды Ping, следует определить начальное значение и уменьшать его до тех пор, пока прекратятся ошибки. Если значение большое, мы получим следующую ошибку:

    Чтобы сделать это запустите следующую команду:

    В нашем случае, значение размера пакета слишком большое. Поэтому уменьшаем его до 1472 байтов.

    Если получите другое сообщение, начальное значение должно быть уменьшено по единице до тех пор, пока не получите требуемый результат.

    Если значение MTU известно, оно может быть использовано для улучшения сети. Особенное если сеть большая вплоть до городских сетей.

    Ping на 2-ом уровне OSI (использование arping)

    С помощью команды ping диагностика проводится на основе IP-адреса конкретного узла в сети. Это связано с тем, что команда ping работает на третьем сетевом уровне модели OSI.

    С другой стороны, можно использовать другую встроенную в Linux команду – arping . Эта утилита работает так же, как ping, но на втором – канальном уровне модели OSI.

    Синтаксис команды следующий:

    В результате получите что-то подобное:

    Вывод команды показывает размер отправленного пакета, затем MAC адрес узла назначения, а также время ответа.

    Отметим, что эта команда не предустановлена на системе Debian и производных.

    Ping по имени узла

    По умолчанию, команда ping посылает пакеты на узел назначения используя IP адрес или имя узла назначения. Также нужно отметить, что большинство реализаций утилиты ping на Linux не разрешают DNS в обратном направлении.

    Например, если мы запустим команду ping, указав IP адрес, он вернёт только IP узла. И наоборот, если параметром передадим имя узла, то команда вернет его IP адрес. Посмотрите вывод введя команду ниже:

    Ping маршрута (traceroute)

    Сама по себе команда ping не показывает пути от источника к узлу назначения. Но это было бы очень кстати в том случае, когда узел назначения не отвечает, чтобы определить где именно теряется связь.

    Команда tracert (Windows) или traceroute работают аналогично ping. Преимуществом этой команды является то, что он показывает весь путь следования пакета от источника до узла назначения.

    В принципе traceroute посылает тот же ICMP пакет, что и Ping. Но в случае traceroute, в отличии от ping начально значение TTL пакета выставляется равным единице. Пакет доходит до первого узла по пути к узлу назначения. Устройство уменьшает TTL на одну единицу и если получается нуль, то возвращает сообщение об ошибке истечения времени пакета. В сообщение так же содержится IP адрес и имя хоста. Отправитель получает данное сообщение. Если оно не от узла назначения, то посылает второй пакет с TTL на один больше предыдущего. И так до тех пор, пока не получит ответ от узла назначения. Для получения пути нужно ввести команду:

    Запустить команду если ping вернул ошибку

    Представьте, что вам нужно получить оповещение если узел назначения перестал отвечать на запросы команды ping. Для этого нужно включить команду ping в bash скрипт и прописать нужные команды. Например, скрипт ниже позволяет вам проверить отвечает ли узел на запросы ping:

    Установление размера пакета ping

    По умолчанию, размер пакетов ICMP равен 56 байтам. Это позволяет не влиять на работу сети во время проверки. Но при необходимости можно изменять это значение. Для этого достаточно запустить команду ping с ключом –s и требуемым размером. Например:

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

    Отключение команды ping

    Если вы обслуживаете сеть, то вам может быть необходимо отключить ответ на ping запросы в любое время. Это можно сделать как временно, так и постоянно, в зависимости от ваших нужд. Для временного отключения команды ping нужно ввести команду ниже от имени root-а:

    Она выключить возможно ответа на ICMP запросы до перезагрузки системы. Но если нужно навсегда отключить эту возможность, то придется отредактировать файл

    и добавить следующую строку:

    Сохраните файл и, для применения изменений введите команду:

    Заключение

    В этом материале мы рассмотрели, как команда ping работает в системе Linux. Ping одна из самых легких команд. Она позволяет лицам, ответственным в обеспечении нормально работы сети, выявлять проблемы и устранять их.

    Онлайн курс по Linux

    Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

    Источник

  • Оцените статью