Думаю любой администратор знает команду ping, которая используется для
проверки доступности хостов. Если вы опытный администратор, вероятнее
всего вы не узнаете ничего нового из этой статьи. Если же ваши знания
ограничиваются банальным ping ya.ru, советую дочитать статью до конца.Пример 1. Изменение интервала времени между отправкой пакетов
По умолчанию пакеты посылаются с промежутком в одну секунду. Вы можете изменить это интервал с помощью опции -i.
Увеличение интервала
Пример: Ждем 5 секунд перед отправкой следующего пакета.
$ ping -i 5 IP
Уменьшаем интервал
Пример: Ждем 0.1 секунду перед отправкой следующего пакета.
# ping -i 0.1 IP
Заметка: Только суперпользователь может указывать интервал меньше 0.2 секунды. В противном случае вы увидите такое сообщение.
$ ping -i 0.1 127.0.0.1
PING 0 (127.0.0.1) 56(84) bytes of data.
ping: cannot flood; minimal interval, allowed for user, is 200ms
Пример 2. Проверка локального интерфейса
Перед проверкой удаленного хоста сначала рекомендуется проверить все
ли в порядке с вашим локальным интерфейсом. Для этого можно
использовать следующие 3 метода.
Пингуем ноль (0)
Это самый простой и быстрый способ:
$ ping 0
PING 0 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.024 ms
^C
Пингуем по имени
$ ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.051 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.055 ms
^C
--- localhost ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.051/0.053/0.055/0.002 ms
Пингуем по IP
$ ping 127.0.0.1
2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.051/0.053/0.055/0.002 ms
Не должно быть никаких потерь пакетов.
Пример 3. Послать N пакетов и завершить работу
Для автоматического завершения пинга после отправки указанного вами числа пакетов исползуется опция -c.
В следующем примере мы отправим 5 пакетов.
$ ping -c 5 google.com
PING google.com (74.125.45.100) 56(84) bytes of data.
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=1 ttl=44 time=731 ms
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=2 ttl=44 time=777 ms
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=3 ttl=44 time=838 ms
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=4 ttl=44 time=976 ms
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=5 ttl=44 time=1071 ms
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4216ms
rtt min/avg/max/mdev = 731.039/879.129/1071.050/126.625 ms
Пример 4. Версия команды ping
С помощью опции -V мы можем посмотреть текущую версию команды.
$ ping -V
ping utility, iputils-sss20071127
Пример 5. Флуд в сети
Суперпользователь может послать тысячи и более пакетов в короткие сроки с помощью опции -f.
Как показано ниже, ping -f послал более чем 400,000 пакетов за несколько секунд.
# ping -f localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
.^C
--- localhost ping statistics ---
427412 packets transmitted, 427412 received, 0% packet loss, time 10941ms
rtt min/avg/max/mdev = 0.003/0.004/1.004/0.002 ms, ipg/ewma 0.025/0.004 ms
Пример 6. Звуковой сигнал
Эта опция исползуется редко, но бывает очень полезна. Вы запускается
пинг, ответа от хоста нет, вы разбираетесь в чем дело, и как только
проблема будет решена и удаленный хост ответит, вы услышите звук.
$ ping -a IP
Пример 7. Печатать только статистику выполнения команды
С помощью опции -q можно пропустить ответы удаленного хоста и вывести сразу полученную статистику.
$ ping -c 5 -q 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
--- 127.0.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3998ms
rtt min/avg/max/mdev = 0.047/0.053/0.061/0.009 ms
Пример 8. Изменение размера пакета
Вы можете изменить размер посылаемого пакета используя опцию -s.
Пример: Изменим размер пакета с 56 до 100.
$ ping -s 100 localhost
PING localhost (127.0.0.1) 100(128) bytes of data.
108 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.022 ms
108 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.021 ms
108 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.020 ms
^C
--- localhost ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.020/0.021/0.022/0.000 ms
Пример 9. Длительность выполнения команды
С помощью опции -w мы можем указать время выполнения команды в секундах.
В следующем примере мы будем пинговать локалхост в течение 5-ти секунд.
$ ping -w 5 localhost
Заметка: В случае одновременного использования
опций -w и -c завершение работы утилиты наступит в момент срабатывания
первого ограничения.
Пример 10. Краткая статистика с SIGQUIT
Не прерывая команду пинг, можно посмотреть статистику выполнения. Для этого нужна нажать CTRL + |
$ ping -w 100 localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=10 ttl=64 time=0.021 ms
64 bytes from localhost (127.0.0.1): icmp_seq=11 ttl=64 time=0.022 ms
11/11 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.024 ms
64 bytes from localhost (127.0.0.1): icmp_seq=12 ttl=64 time=0.021 ms
64 bytes from localhost (127.0.0.1): icmp_seq=13 ttl=64 time=0.022 ms
64 bytes from localhost (127.0.0.1): icmp_seq=14 ttl=64 time=0.021 ms
64 bytes from localhost (127.0.0.1): icmp_seq=15 ttl=64 time=0.021 ms
19/19 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.024 ms
64 bytes from localhost (127.0.0.1): icmp_seq=31 ttl=64 time=0.022 ms
64 bytes from localhost (127.0.0.1): icmp_seq=32 ttl=64 time=0.022 ms
32/32 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.027 ms
64 bytes from localhost (127.0.0.1): icmp_seq=33 ttl=64 time=0.023 ms ..