Команда Ping в Linux

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

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

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

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

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

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

ping [OPTIONS] DESTINATION

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

ping google.com

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

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

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

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

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

ping -c 1 DESTINATION

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

ping -c 1 linuxize.com

Укажите исходный интерфейс

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

ping -I INTERFACE_NAME DESTINATION

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

ping -I em2 linuxize.com

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

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

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

ping -4 DESTINATION

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

ping -6 DESTINATION

Выводы

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

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

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

Оставьте комментарий