Ping Command in Linux

Ping Command in Linux

11 Января 2020 | Терминал

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

Ping Command in Linux

Ping работает, отправляя один или несколько пакетов эхо-запросов ICMP (Internet Control Message Protocol) на указанный IP-адрес назначения в сети и ожидает ответа. Когда получатель получит пакет, он ответит эхо-ответом ICMP.

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

Утилита ping  является частью iputils (или iputils-ping) упаковки, которая предварительно установлена на почти всех дистрибутивов Linux. ping также доступен в Windows, MacOS и FreeBSD.


Как использовать команду Ping 

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

ping [OPTIONS] DESTINATION

Чтобы лучше проиллюстрировать, как работает команда ping, давайте пинг  baks.dev:

ping baks.dev

Вывод будет выглядеть примерно так:

PING  baks.dev (172.217.22.206) 56(84) bytes of data.
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=1 ttl=53 time=40.2 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=2 ttl=53 time=41.8 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=3 ttl=53 time=47.4 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=4 ttl=53 time=41.4 ms
^C
---  baks.dev ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7ms
rtt min/avg/max/mdev = 40.163/42.700/47.408/2.790 ms


   Команда 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. В противном случае он выйдет с кодом или 2. Это может быть полезно при использовании ping утилиты в скрипте оболочки.

В следующих разделах мы рассмотрим наиболее часто используемые pingпараметры команд.


Укажите количество пакетов

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

ping -c 1 DESTINATION

Например, чтобы пинговать baks.dev только один раз, вы должны использовать:

ping -c 1 baks.dev


Укажите интерфейс источника 

Поведение команды по умолчанию ping- отправка пакетов ICMP по маршруту по умолчанию. Если у вас есть несколько интерфейсов на вашем компьютере, вы можете указать исходный интерфейс с -I опцией:

ping -I INTERFACE_NAME DESTINATION

Следующая команда будет пинговать, baks.dev используя em2 в качестве исходного интерфейса:

ping -I em2 baks.dev

Укажите интернет-протокол

При запуске pingкоманды она будет использовать IPv4 или IPv6, в зависимости от настроек DNS вашего компьютера.

Чтобы принудительно ping использовать IPv4, передайте -4 опцию или используйте ее псевдоним ping4:

ping -4 DESTINATION

Для IPv6, передайте -6 опцию или используйте ping6:

ping -6 DESTINATION

Вывод 

ping это сетевая утилита командной строки, которая позволяет вам проверять подключение на уровне IP данного хоста в сети.

Чтобы просмотреть все доступные параметры ping команды, введите man ping свой терминал.



    Комментарии

    Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Загрузка комментариев...