- How do I terminate a ‘Ping’ without closing the command terminal window?
- 5 Answers 5
- Команда Linux ping
- Возможности
- Синтаксис
- Опции
- Примеры использования команды ping в Linux
- Использование без опций
- Как остановить команду ping в Linux
- Потери пакетов
- Ограничение количества пакетов
- Указание Интернет-протокола
- Заключение
- Команда ping в Linux
- Параметры
- Примеры
- Пинг конкретного порта
How do I terminate a ‘Ping’ without closing the command terminal window?
When I use the ‘Ping’ command in a terminal window, how do I terminate the ping? I have pinged my router (192.168.1.1) and the results have displayed in the terminal window, but the program keeps running with no indication as to how to terminate. I can end the command by closing the command terminal window, but I would rather keep it open so I can compare pings with different addresses. Ubuntu 14.04 LTS
5 Answers 5
- Manually interrupt the ping command using Ctrl + C , as described in @steeldriver’s answer.
- Use ping ‘s «count» option ( -c COUNT ) to send exactly COUNT pings and then terminate automatically, as described in @bodhi.zazen’s answer.
- Use ping ‘s «deadline» option ( -w DEADLINE ) to run for exactly DEADLINE seconds and then terminate automatically.
Of course you can combine the three options. If you pass both a «count» and a «deadline» option, ping will terminate as soon as the first event occurs. And Ctrl + C works always anyway.
Here’s an example with a «count» of maximal 10 pings and a «deadline» of 5 seconds, but which got terminated manually using Ctrl + C after 3 pings ( ^C ):
$ ping -c 10 -w 5 askubuntu.com PING askubuntu.com (104.16.110.188) 56(84) bytes of data. 64 bytes from 104.16.110.188: icmp_seq=1 ttl=56 time=54.6 ms 64 bytes from 104.16.110.188: icmp_seq=2 ttl=56 time=52.5 ms 64 bytes from 104.16.110.188: icmp_seq=3 ttl=56 time=54.0 ms ^C --- askubuntu.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 52.582/53.733/54.611/0.850 ms
Команда Linux ping
В Linux команда ping — один из наиболее часто используемых инструментов для устранения неполадок, тестирования и диагностики проблем с сетевым подключением.
Команда ping отправляет один или несколько пакетов эхо-запроса ICMP (Internet Control Message Protocol) на указанный IP-адрес назначения в сети и ожидает ответ. Пункт назначения после получения пакета отвечает эхо-ответом ICMP.
Возможности
С помощью этой утилиты можно определить:
- активен или неактивен удаленный IP-адрес;
- время задержки туда-обратно при связи с пунктом назначения;
- есть ли потеря пакетов.
Синтаксис
Опции
Примеры использования команды ping в Linux
Использование без опций
В качестве простейшего примера даём ping для google.com :
oleg@mobile:~:$ ping google.com PING google.com (216.58.214.142) 56(84) bytes of data. 64 bytes from fra16s06-in-f142.1e100.net (216.58.214.142): icmp_seq=1 ttl=119 time=15.9 ms 64 bytes from fra16s06-in-f142.1e100.net (216.58.214.142): icmp_seq=2 ttl=119 time=17.5 ms 64 bytes from fra16s06-in-f142.1e100.net (216.58.214.142): icmp_seq=3 ttl=119 time=12.1 ms 64 bytes from sof02s42-in-f14.1e100.net (216.58.214.142): icmp_seq=4 ttl=119 time=10.5 ms 64 bytes from sof02s42-in-f14.1e100.net (216.58.214.142): icmp_seq=5 ttl=119 time=18.0 ms ^C --- google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4005ms rtt min/avg/max/mdev = 10.509/14.788/17.966/2.987 ms oleg@mobile:~:$
Утилита преобразовала доменное имя ( google.com ) в IP-адрес ( 216.58.214.142 ) и начала отправлять пакеты ICMP на целевой IP-адрес. Доступный IP-адрес назначения ответил и утилита напечатала строку, содержащую следующие поля:
Количество байтов данных Значение по умолчанию — 56, что соответствует 64 байтам данных ICMP 64 bytes IP-адрес получателя from fra16s06-in-f142.1e100.net (216.58.214.142) Порядковый номер ICMP для каждого пакета icmp_seq=1 Время жизни ttl=119 Время проверки связи туда-обратно, ms time=15.9 ms
По умолчанию интервал между отправкой нового пакета составляет одну секунду.
Если ответ не возвращается, это означает, что сетевое соединение не установлено. Когда это происходит, это не всегда означает, что IP-адрес назначения не активен. Некоторые хосты могут иметь брандмауэр, который блокирует трафик ICMP или не отвечает на запросы ping .
Как остановить команду ping в Linux
Команда ping будет продолжать отправлять пакеты ICMP на IP-адрес назначения, пока не получит прерывание. Для того чтобы остановить команду, просто нажмите комбинацию клавиш Ctrl+C.
Потери пакетов
После остановки команда ping отображает статистику, включая процент потери пакетов. Потеря пакета означает, что данные были потеряны где-то в сети, что указывает на проблему в сети. В случае потери пакетов, вы можете использовать команду traceroute, чтобы определить, где произошла потеря.
Ограничение количества пакетов
Команда ping по умолчанию отправляет ICMP-пакеты до получения сигнала прерывания. Для ограничения количества пакетов отправляемых эхо-запросов используется опция -c , за которой следует количество пакетов:
oleg@mobile:~:$ ping -c 3 google.com PING google.com (216.58.214.142) 56(84) bytes of data. 64 bytes from sof02s42-in-f14.1e100.net (216.58.214.142): icmp_seq=1 ttl=119 time=15.3 ms 64 bytes from fra16s06-in-f142.1e100.net (216.58.214.142): icmp_seq=2 ttl=119 time=13.0 ms 64 bytes from fra16s06-in-f142.1e100.net (216.58.214.142): icmp_seq=3 ttl=119 time=16.8 ms --- google.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 12.973/15.029/16.820/1.581 ms oleg@mobile:~:$
Теперь прерывание произошло автоматически.
Указание Интернет-протокола
Например, для принудительного использования протокола IPv4, передайте команде опцию -4 :
oleg@mobile:~:$ ping -4 -c 3 google.com PING google.com (216.58.214.142) 56(84) bytes of data. 64 bytes from fra16s06-in-f142.1e100.net (216.58.214.142): icmp_seq=1 ttl=119 time=13.5 ms 64 bytes from fra16s06-in-f142.1e100.net (216.58.214.142): icmp_seq=2 ttl=119 time=12.6 ms 64 bytes from fra16s06-in-f142.1e100.net (216.58.214.142): icmp_seq=3 ttl=119 time=14.9 ms --- google.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 12.610/13.666/14.876/0.931 ms oleg@mobile:~:$
Заключение
В Linux сетевая утилита командной строки ping позволяет вам проверить подключение на уровне IP данного хоста в сети. Она проста в использовании и может быть очень полезна многим пользователям.
Команда ping в Linux
Бывают ситуации, когда резко пропадает интернет или компьютер в локальной сети перестает работать, чтобы быстро определить работает ли сеть, работает ли интернет — поможет 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 ya.ru
Как остановить ping в linux? Для этого необходимо прервать процедуру принудительно, нажимаем горячие клавиши ctrl + C.
Результат нажатия клавиш ctrl + c
- 14 packets transmitted — отправлено пакетов;
- 14 received — количество полученных пакетов;
- 0% packet loss — сколько процентов потерянных пакетов;
- 13322mc time — время работы;
Чтобы не прерывать процедуру в будущем, можно ввести дополнительный аргумент «-с», тем самым мы зададим количество отправляемых пакетов.
Пинг конкретного порта
Часто приходится диагностировать доступность порта на хосте. Однако, команда пинг не умеет этого делать. Нельзя просто написать ping номер порта. Так это не работает.
Для такой задачи идеально подойдет — telnet. Он по умолчанию устанавливается в операционную систему Linux.