Думаю любой администратор знает команду ping, которая используется для проверки доступности хостов. Если вы опытный администратор, вероятнее всего вы не узнаете ничего нового из этой статьи. Если же ваши знания ограничиваются банальным ping ya.ru, советую дочитать статью до конца. Пример 1. Изменение интервала времени между отправкой пакетов
По умолчанию пакеты посылаются с промежутком в одну секунду. Вы можете изменить это интервал с помощью опции -i. Увеличение интервала
Пример: Ждем 7 секунд перед отправкой следующего пакета. danu@virt:~$ ping -i 7 list.ru PING list.ru (217.69.135.29) 56(84) bytes of data. 64 bytes from gepard.mail.ru (217.69.135.29): icmp_seq=1 ttl=57 time=39.0 ms
Уменьшаем интервал Пример: Ждем 0.1 секунду перед отправкой следующего пакета. danu@virt:~$ sudo ping -i 0.1 list.ru PING list.ru (217.69.135.29) 56(84) bytes of data. 64 bytes from gepard.mail.ru (217.69.135.29): icmp_seq=1 ttl=57 time=39.2 ms
Заметка: Только суперпользователь может указывать интервал меньше 0.2 секунды. В противном случае вы увидите такое сообщение. danu@virt:~$ sudo ping -i 0.1 127.0.0.1 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.021 ms
Пример 2. Проверка локального интерфейса
Перед проверкой удаленного хоста сначала рекомендуется проверить все ли в порядке с вашим локальным интерфейсом. Для этого можно использовать следующие 3 метода. Пингуем ноль (0)
Это самый простой и быстрый способ: danu@virt:~$ 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.037 ms
Пингуем по имени
danu@virt:~$ 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.049 ms
Пингуем по IP danu@virt:~$ ping 127.0.0.1 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.038 ms
Не должно быть никаких потерь пакетов.
Пример 3. Послать N пакетов и завершить работу Для автоматического завершения пинга после отправки указанного вами числа пакетов исползуется опция -c. В следующем примере мы отправим 3 пакетов.
danu@virt:~$ ping -c 3 list.ru PING list.ru (217.69.135.29) 56(84) bytes of data. 64 bytes from gepard.mail.ru (217.69.135.29): icmp_seq=1 ttl=57 time=40.0 ms 64 bytes from gepard.mail.ru (217.69.135.29): icmp_seq=2 ttl=57 time=39.7 ms 64 bytes from gepard.mail.ru (217.69.135.29): icmp_seq=3 ttl=57 time=39.4 ms
--- list.ru ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2004ms rtt min/avg/max/mdev = 39.403/39.711/40.018/0.340 ms
Пример 4. Версия команды ping С помощью опции -V мы можем посмотреть текущую версию команды.
Пример 5. Флуд в сети Суперпользователь может послать тысячи и более пакетов в короткие сроки с помощью опции -f. Как показано ниже, ping -f послал более чем 400,000 пакетов за несколько секунд.
Пример 6. Звуковой сигнал Эта опция исползуется редко, но бывает очень полезна. Вы запускается пинг, ответа от хоста нет, вы разбираетесь в чем дело, и как только проблема будет решена и удаленный хост ответит, вы услышите звук.
danu@virt:~$ ping -a list.ru PING list.ru (217.69.135.29) 56(84) bytes of data. 64 bytes from gepard.mail.ru (217.69.135.29): icmp_seq=1 ttl=57 time=39.9 ms
Пример 7. Печатать только статистику выполнения команды С помощью опции -q можно пропустить ответы удаленного хоста и вывести сразу полученную статистику.
--- list.ru ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4004ms rtt min/avg/max/mdev = 39.524/39.888/40.032/0.257 ms
Пример 8. Изменение размера пакета Вы можете изменить размер посылаемого пакета используя опцию -s. Пример: Изменим размер пакета с 56 до 100.
danu@virt:~$ ping -s 100 list.ru PING list.ru (217.69.135.29) 100(128) bytes of data. 108 bytes from gepard.mail.ru (217.69.135.29): icmp_seq=1 ttl=57 time=39.4 ms 108 bytes from gepard.mail.ru (217.69.135.29): icmp_seq=2 ttl=57 time=40.3 ms 108 bytes from gepard.mail.ru (217.69.135.29): icmp_seq=3 ttl=57 time=39.4 ms
Пример 9. Длительность выполнения команды С помощью опции -w мы можем указать время выполнения команды в секундах. В следующем примере мы будем пинговать list.ru в течение 3 секунды.
danu@virt:~$ ping -w 3 list.ru PING list.ru (217.69.135.29) 56(84) bytes of data. 64 bytes from gepard.mail.ru (217.69.135.29): icmp_seq=1 ttl=57 time=40.1 ms 64 bytes from gepard.mail.ru (217.69.135.29): icmp_seq=2 ttl=57 time=39.5 ms 64 bytes from gepard.mail.ru (217.69.135.29): icmp_seq=3 ttl=57 time=40.2 ms
--- list.ru ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 39.514/39.982/40.237/0.404 ms Заметка: В случае одновременного использования опций -w и -c завершение работы утилиты наступит в момент срабатывания первого ограничения.
Пример 10. Краткая статистика с SIGQUIT Не прерывая команду пинг, можно посмотреть статистику выполнения. Для этого нужна нажать CTRL + |
danu@virt:~$ 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 ..