Команда 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
.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.