- Команда Ping в Linux
- Как использовать команду Ping
- Укажите количество пакетов
- Укажите исходный интерфейс
- Укажите Интернет-протокол
- Выводы
- Команда ping в Linux
- Как работает ping?
- Команда Ping
- Как пользоваться Ping?
- Выводы
- Ping Command in Linux
- Ping Command in Linux
- Команда ping является одной из наиболее часто используемых утилит для устранения неполадок, тестирования и диагностики проблем с сетевым подключением.
- Как использовать команду Ping
- Укажите количество пакетов
- Укажите интерфейс источника
- Укажите интернет-протокол
- Вывод
Команда Ping в Linux
Команда ping — один из наиболее часто используемых инструментов для устранения неполадок, тестирования и диагностики проблем с сетевым подключением.
Ping работает путем отправки одного или нескольких пакетов эхо-запроса ICMP (протокол управляющих сообщений Интернета) на указанный IP-адрес назначения в сети и ожидает ответа. Когда пункт назначения получает пакет, он отвечает эхо-ответом ICMP.
С помощью команды ping вы можете определить, активен или неактивен удаленный IP-адрес назначения. Вы также можете найти задержку двустороннего обмена при обмене данными с адресатом и проверить, есть ли потеря пакетов.
ping является частью пакета iputils (или iputils-ping ), который предустановлен почти во всех дистрибутивах Linux. Он также доступен в Windows, macOS и FreeBSD.
Как использовать команду Ping
Синтаксис команды ping следующий:
Чтобы лучше проиллюстрировать, как работает команда ping, давайте пингуем google.com :
Результат будет выглядеть примерно так:
Команда ping преобразует доменное имя в IP-адрес и начинает отправку пакетов ICMP на IP-адрес назначения. Если IP-адрес назначения доступен, он ответит, и команда ping напечатает строку, содержащую следующие поля:
- Количество байтов данных. По умолчанию 56, что переводится в 64 байта данных ICMP — 64 bytes .
- IP-адрес назначения — from muc11s01-in-f14.1e100.net (172.217.22.206) .
- Порядковый номер ICMP для каждого пакета. icmp_seq=1 .
- Время жить. — ttl=53 — Как работает TTL? .
- Время проверки связи, измеряемое в миллисекундах, которое представляет собой время прохождения пакета туда и обратно до хоста и время ответа для возврата отправителю. — time=41.4 ms .
По умолчанию интервал между отправкой нового пакета составляет одну секунду.
Команда ping будет продолжать отправлять пакеты ICMP на IP-адрес назначения, пока не получит прерывание. Чтобы остановить команду, просто нажмите Ctrl+C
После остановки команды отображается статистика, включая процент потери пакетов. Потеря пакета означает, что данные были потеряны где-то в сети, что указывает на проблему в сети. В случае потери пакета вы можете использовать команду traceroute чтобы определить место потери пакета.
Если ping не возвращает ответа, это означает, что сетевое соединение не установлено. Когда это происходит, это не всегда означает, что IP-адрес назначения неактивен. Некоторые хосты могут иметь брандмауэр, который блокирует трафик ICMP или не отвечает на запросы ping.
В случае успеха команда ping завершается с кодом 0 . В противном случае он выйдет с кодом 1 или 2 . Это может быть полезно при использовании утилиты ping в сценарии оболочки.
В следующих разделах мы рассмотрим наиболее часто используемые параметры команды ping .
Укажите количество пакетов
Как уже упоминалось, по умолчанию ping будет продолжать отправлять пакеты ICMP, пока не получит сигнал прерывания. Чтобы указать количество пакетов Echo Request, которые должны быть отправлены, после чего ping завершится, используйте параметр -c за которым следует количество пакетов:
Например, чтобы пинговать linuxize.com только один раз, вы должны использовать:
Укажите исходный интерфейс
По умолчанию команда ping отправляет пакеты ICMP по маршруту по умолчанию. Если у вас есть несколько интерфейсов на вашем компьютере, вы можете указать исходный интерфейс с параметром -I :
Следующая команда будет пинговать linuxize.com используя em2 в качестве исходного интерфейса:
Укажите Интернет-протокол
Когда вы запускаете команду ping , она будет использовать IPv4 или IPv6, в зависимости от настроек DNS вашего компьютера.
Чтобы заставить ping использовать IPv4, передайте параметр -4 или используйте его псевдоним ping4 :
Для IPv6 передайте опцию -6 или используйте ping6 :
Выводы
ping — это сетевая утилита командной строки, которая позволяет вам проверить возможность подключения на уровне IP определенного хоста в сети.
Чтобы просмотреть все доступные параметры команды ping , введите в терминале man 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 — более подробный вывод.
Теперь, когда мы рассмотрели основные параметры команды 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 Command in Linux
Ping Command in Linux
Команда ping является одной из наиболее часто используемых утилит для устранения неполадок, тестирования и диагностики проблем с сетевым подключением.
Ping работает, отправляя один или несколько пакетов эхо-запросов ICMP (Internet Control Message Protocol) на указанный IP-адрес назначения в сети и ожидает ответа. Когда получатель получит пакет, он ответит эхо-ответом ICMP.
С помощью ping команды вы можете определить, является ли удаленный IP-адрес назначения активным или неактивным. Вы также можете найти двустороннюю задержку при связи с пунктом назначения и проверить, есть ли потеря пакета.
Утилита ping является частью iputils (или iputils-ping ) упаковки, которая предварительно установлена на почти всех дистрибутивов Linux. ping также доступен в Windows, MacOS и FreeBSD.
Как использовать команду Ping
Синтаксис команды ping следующий:
Чтобы лучше проиллюстрировать, как работает команда ping, давайте пинг baks.dev :
Вывод будет выглядеть примерно так:
Команда ping преобразует имя домена в IP-адрес и начинает отправку пакетов ICMP на IP-адрес назначения. Если целевой IP-адрес доступен, он ответит, и команда ping напечатает строку, содержащую следующие поля:
- Количество байтов данных. По умолчанию 56, что переводит в 64 байта данных ICMP — 64 bytes
- IP-адрес пункта назначения — from muc11s01-in-f14.1e100.net (172.217.22.206)
- Порядковый номер ICMP для каждого пакета. icmp_seq=1
- Время жить. — ttl=53 — Как работает TTL?
- Время эхо-запроса, измеряемое в миллисекундах, которое является временем прохождения пакета в оба конца для достижения хостом пакета и для возврата ответа отправителю. — time=41.4 ms
По умолчанию интервал между отправкой нового пакета составляет одну секунду.
Команда ping продолжит отправку пакетов ICMP по IP-адресу назначения, пока не получит прерывание. Чтобы остановить команду, просто нажмите комбинацию клавиш Ctrl+C.
Как только команда останавливается, она отображает статистику, включающую процент потери пакетов. Потеря пакета означает, что данные были отброшены где-то в сети, что указывает на проблему в сети. Если есть потеря пакета, вы можете использовать traceroute команду, чтобы определить, где происходит потеря пакета.
Если ping не возвращает ответ, это означает, что сетевое соединение не установлено. Когда это происходит, это не всегда означает, что IP-адрес назначения не активен. Некоторые хосты могут иметь брандмауэр, который блокирует трафик ICMP или настроен так, чтобы не отвечать на запросы ping.
В случае успеха ping команда завершается с кодом 0 . В противном случае он выйдет с кодом 1 или 2 . Это может быть полезно при использовании ping утилиты в скрипте оболочки.
В следующих разделах мы рассмотрим наиболее часто используемые ping параметры команд.
Укажите количество пакетов
Как уже упоминалось, по умолчанию, ping будет продолжать отправлять пакеты ICMP, пока не получит сигнал прерывания. Чтобы указать количество отправляемых пакетов эхо-запросов, после которых ping будет завершен, используйте -c параметр с указанием количества пакетов:
Например, чтобы пинговать baks.dev только один раз, вы должны использовать:
Укажите интерфейс источника
Поведение команды по умолчанию ping — отправка пакетов ICMP по маршруту по умолчанию. Если у вас есть несколько интерфейсов на вашем компьютере, вы можете указать исходный интерфейс с -I опцией:
Следующая команда будет пинговать, baks.dev используя em2 в качестве исходного интерфейса:
Укажите интернет-протокол
При запуске ping команды она будет использовать IPv4 или IPv6, в зависимости от настроек DNS вашего компьютера.
Чтобы принудительно ping использовать IPv4, передайте -4 опцию или используйте ее псевдоним ping4 :
Для IPv6, передайте -6 опцию или используйте ping6 :
Вывод
ping это сетевая утилита командной строки, которая позволяет вам проверять подключение на уровне IP данного хоста в сети.
Чтобы просмотреть все доступные параметры ping команды, введите man ping свой терминал.
Источник