Бывают ситуации, когда резко пропадает интернет или компьютер в локальной сети перестает работать, чтобы быстро определить работает ли сеть, работает ли интернет - поможет ping. Эта универсальная команда есть во всех операционных системах. Она проверяет доступность удаленного хоста, отправляя ICMP-пакеты.
Согласно модели OSI, все данные в компьютерном мире передаются небольшими пакетами. Утилита посылает эхо-запрос по протоколу ICMP и ожидает получить ответ, если получает, то считается что узел доступен.
Параметры
Рассмотрим синтаксис.
Посмотрим, что говорит справка команда ping --help.
Как мы видим выше, синтаксис очень простой. В качестве адреса мы пишем доменное имя или ip-адрес узла. Например ip-адрес локального компьютера может выглядеть так: 192.168.0.1. Рассмотрим параметры или их еще называют аргументы:
-c. Количество пакетов, которые нужно отправить.
-w. Ограничение посылаемых пакетов по времени. В аргументе указывается время в секундах.
-i. Интервал в секундах между данными.
-d. Если дословно переводить, то запретить адрес хоста.
-r. Игнорировать правила таблицы маршрутизации.
-4. Использовать только четвертую версию интернет протокола IPv4.
-6. Соответственно, только 6 версию IPv6.
-b. Разрешить широковещательный адрес.
-D. Вывести время.
-v. Подробный вывод.
-f. Режим flood. Данные передаются без задержки. Опция может использоваться как Dos-атака. Доступна только с правами root.
-t. Установить TTL.
-?. Вывести справочную информацию.
-s. Установить размер пакета.
Примеры
Для проверки работоспособности интернета часто пингуем популярные сайты яндекс или гугл, даже раньше ходил слух, что яндекс специально под это дело купил себе дополнительные сервера.
Пингуем сайт ya.ru, в качестве аргумента ничего не ставим, просто указываем название сайта.
В Линуксе при выполнение этой операции пакеты будут посылаться очень долго, в отличие от Windows. Там всего 4 пакета.
Как остановить ping в linux? Для этого необходимо прервать процедуру принудительно, нажимаем горячие клавиши ctrl + C.
На скриншоте выше смотрим статистику:
- 14 packets transmitted - отправлено пакетов;
- 14 received - количество полученных пакетов;
- 0% packet loss - сколько процентов потерянных пакетов;
- 13322mc time - время работы;
Чтобы не прерывать процедуру в будущем, можно ввести дополнительный аргумент "-с", тем самым мы зададим количество отправляемых пакетов.
Пинг конкретного порта
Часто приходится диагностировать доступность порта на хосте. Однако, команда пинг не умеет этого делать. Нельзя просто написать ping номер порта. Так это не работает.
Для такой задачи идеально подойдет - telnet. Он по умолчанию устанавливается в операционную систему Linux.
telnet хост порт