Команда ping в Linux: что это и как использовать.

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

Что такое команда ping?

Команда ping — это инструмент в Linux (и не только), который помогает проверить, доступен ли другой компьютер или сервер из вашей текущей сети. Несмотря на дополнительную информацию, которую предоставляет данная утилита, главное назначение — узнать доходят ли пакеты из точки A в точку B.

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

Когда вы вводите команду ping и указываете адрес сайта или IP-адрес, ваш компьютер отправляет специальные небольшие пакеты данных — так называемые ICMP-запросы. Другой компьютер, если он онлайн и разрешает такие запросы, отвечает на них. Это позволяет определить:

  • есть ли связь с этим сервером,
  • как долго занимает отправка и получение ответа (задержка),
  • есть ли потеря пакетов (если некоторые запросы не получили ответ).

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

Чтобы начать проверку соединения с сервером или сайтом, откройте терминал и введите:

ping доменное_имя

Например:

[root@waky practice]# ping google.com
PING google.com (64.233.165.101) 56(84) bytes of data.
64 bytes from lg-in-f101.1e100.net (64.233.165.101): icmp_seq=1 ttl=110 time=128 ms
64 bytes from lg-in-f101.1e100.net (64.233.165.101): icmp_seq=2 ttl=110 time=128 ms
64 bytes from lg-in-f101.1e100.net (64.233.165.101): icmp_seq=3 ttl=110 time=128 ms
^C
--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2005ms
rtt min/avg/max/mdev = 128.174/128.311/128.401/0.098 ms
[root@waky practice]#

или

ping IP_адрес

Например:

[root@waky practice]# ping 64.233.165.101
PING 64.233.165.101 (64.233.165.101) 56(84) bytes of data.
64 bytes from 64.233.165.101: icmp_seq=1 ttl=110 time=128 ms
64 bytes from 64.233.165.101: icmp_seq=2 ttl=110 time=128 ms
64 bytes from 64.233.165.101: icmp_seq=3 ttl=110 time=128 ms
^C
--- 64.233.165.101 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2006ms
rtt min/avg/max/mdev = 127.578/127.832/128.069/0.200 ms
[root@waky practice]#

где доменное_имя — адрес сайта или хоста, а IP_адрес соответствующий IP, если он вам известен.

В Linux, по умолчанию, утилита работает бесконечно, пока не будет прервана, остановить исполнение ping можно комбинацией Ctrl+C.

Основные параметры команды ping

-c [число] — указывает, сколько пакетов отправить. Например:

[root@waky practice]# ping -c 2 google.com
PING google.com (64.233.162.102) 56(84) bytes of data.
64 bytes from li-in-f102.1e100.net (64.233.162.102): icmp_seq=1 ttl=106 time=126 ms
64 bytes from li-in-f102.1e100.net (64.233.162.102): icmp_seq=2 ttl=106 time=126 ms

--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 126.055/126.073/126.091/0.018 ms
[root@waky practice]# 

Это отправит 2 запроса и завершит работу.

-i [секунды] — интервал между отправкой пакетов. Например:

[root@waky practice]# ping -c 2 -i 2 google.com
PING google.com (64.233.162.102) 56(84) bytes of data.
64 bytes from li-in-f102.1e100.net (64.233.162.102): icmp_seq=1 ttl=106 time=129 ms
64 bytes from li-in-f102.1e100.net (64.233.162.102): icmp_seq=2 ttl=106 time=127 ms

--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 126.632/127.786/128.941/1.154 ms
[root@waky practice]# 

Пауза между запросами стала 2 секунды.

-t [миллисекунды] — задаёт TTL (время жизни пакета), что влияет на путь прохождения пакета по сети. Например:

[root@waky practice]# ping -c 2 -t 10 google.com
PING google.com (64.233.165.102) 56(84) bytes of data.
From 72.14.232.76 (72.14.232.76) icmp_seq=1 Time to live exceeded
From 72.14.232.76 (72.14.232.76) icmp_seq=2 Time to live exceeded

--- google.com ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1002ms

[root@waky practice]#

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

Меняя TTL можно увидеть, насколько сильно влияют сетевые задержки.

s [байты] — задает размер отправляемого пакета. Например:

[root@waky practice]# ping -c 2 -s 100 google.com
PING google.com (64.233.165.138) 100(128) bytes of data.
108 bytes from lg-in-f138.1e100.net (64.233.165.138): icmp_seq=1 ttl=107 time=125 ms
108 bytes from lg-in-f138.1e100.net (64.233.165.138): icmp_seq=2 ttl=107 time=125 ms

--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 124.705/124.745/124.786/0.040 ms
[root@waky practice]#

Отправляя большие пакеты, мы проверяем стабильность сети при передаче больших объемов информации.

Что показывается в результате выполнения ping

При выполнении команды ping вы увидите примерно такое сообщение:

[root@waky practice]# ping -c 3 google.com
PING google.com (64.233.162.138) 56(84) bytes of data.
64 bytes from li-in-f138.1e100.net (64.233.162.138): icmp_seq=1 ttl=106 time=125 ms
64 bytes from li-in-f138.1e100.net (64.233.162.138): icmp_seq=2 ttl=106 time=124 ms
64 bytes from li-in-f138.1e100.net (64.233.162.138): icmp_seq=3 ttl=106 time=125 ms

--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 124.417/124.838/125.142/0.307 ms
[root@waky practice]#

Объяснение:

icmp_seq — номер пакета.

ttl — время жизни пакета.

time — задержка в миллисекундах.

В конце — статистика, показывающая сколько пакетов было отправлено и получено, а также показатель потери данных и среднее время отклика.

Почему важно использовать команду ping?

Компания или пользователь может столкнуться с проблемами подключения к интернету или к определенному серверу. С помощью ping можно быстро понять:

  • есть ли проблема с сетью,
  • насколько стабильно соединение,
  • правильно ли работает маршрутизация.

Это особенно полезно при устранении неисправностей.

Заключение

Команда ping — это важный и простой в использовании инструмент в Linux для диагностики сетевых проблем. Она помогает показать, доступен ли нужный сервер, насколько быстро идут ответы, и есть ли потери данных.

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

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