Вывод результата ping’a
Привет. Хочу получить в удобоваримой форме результат работы утилиты ping. Допустим, ответ получен — 1, не получен — 0. Как это можно сделать на bash? Спасибо.
Только это наоборот, 0, если ответ получен и 1, если нет.
Попробуй сделать «ping -c3 x.x.x.x ; echo $?» Если ping не получает ответных пакетов, то он завершит работу с кодом возврата 1.
#!/bin/bash
#
if /bin/ping -c 2 192.168.0.1 > /dev/null 2> /dev/null
then
echo 1;
else
echo 0;
fi
Спасибо, помогло, а где прочесть про $?
То, что нужно, спасибо.
$? — это exit code. Его возвращают все программы, и обычно он равен 0 в случае удачного завершения работы и какому-дибо другому числу в противоположном случае.
Конструкции «||» и «&&», а также директива «if» в bash в примере ниже проверяют именно его.
Спасибо, взял на заметку.
А тут можно в одном посте отвечать всем сразу?
ИМХО, если нужно ответить нескольким людям сразу, нужно отвечать на своё сообщение, используя . для привлечения внимания адресатов.
-q Quiet output. Nothing is displayed except the summary lines at startup time and when finished.
AITap
Его возвращают все программы, и обычно он равен 0 в случае удачного завершения работы и какому-дибо другому числу в противоположном случае.
Источник
Команда ping: подробный обзор
Ping – утилита командной строки, которая нужна для проверки подключения к другому компьютеру на уровне IP. Принцип работы очень простой: команда ping ip отправляет серию небольших пакетов данных на указанное устройство, а затем показывает время ответа.
Ping – основная команда TCP/IP, которая используется для устранения неполадок подключения, доступности и разрешения имени. Она также позволяет узнать имя и IP-адрес компьютера.
Синтаксис команды ping
Команда ping в Windows имеет следующие параметры, которые позволяют решать разные задачи:
Чтобы посмотреть в командной строке (cmd) ping-команды, вызовите справку:
На Linux параметры команды отличаются. Чтобы посмотреть доступные опции, выполните в терминале команду:
Суть команды ping проста, но примеров ее использования очень много. Давайте посмотрим, что можно делать с ее помощью.
Простая проверка доступности
Это то, что делали многие пользователи, – пинговали популярные ресурсы, чтобы убедиться, что интернет на их компьютере работает. Эта же команда используется для проверки доступности.
Windows отправит только 4 запроса, после чего выдаст статистику для указанного адреса. Можно убрать это ограничение, указав параметр -t.
Чтобы прервать отправку и получить статистику, нажимаем сочетание клавиш Ctrl+C.
По умолчанию команда ping IP-адреса на Linux посылает пакеты, пока вы не прервете их отправку вручную с помощью сочетания клавиш Ctrl+C. Чтобы ограничить количество, укажем нужное число. Например:
Изменение интервала между отправкой пакетов
По умолчанию пакеты отправляются с интервалом в одну секунду. Но можно установить другое время.
Для установки значений меньше 0.2 секунды требуются права суперпользователя (sudo).
Массовая отправка пакетов для нагрузочного тестирования
Эта возможность также доступна только суперпользователям:
Изменение размера пакета
По умолчанию размер пакета – 32 байта. Можно установить другой размер:
Включение звукового сигнала
Если ответа от хоста нет, отправляем эту команду:
Затем начинаем искать причину сбоя. После ее устранения воспроизведется звуковой сигнал. Он говорит о том, что хост теперь отвечает.
Вывод статистики ping
Чтобы не засорять терминал лишней информацией, пропустим ответы хоста и сразу получим статистику:
А можно, наоборот, получать статистику выполнения без прерывания команды. Для этого нужно нажать сочетание клавиш CTRL + |.
Источник
Ping вывод только результата
Область применения: Windows Server (половина ежегодного канала), Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
Проверяет подключение на уровне IP к другому компьютеру TCP/IP, отправляя сообщения эхо-запросов протокола ICMP. Отображаются сообщения о получении соответствующих эхо-ответов, а также время кругового пути. Ping — это основная команда TCP/IP, используемая для устранения неполадок подключения, доступности и разрешения имен. При использовании без параметров эта команда отображает содержимое справки.
Эту команду также можно использовать для проверки имени компьютера и IP-адреса компьютера. Если проверка связи с IP-адресом выполнена успешно, но проверка связи с именем компьютера не выполняется, может возникнуть проблема разрешения имен. В этом случае убедитесь, что указываемое имя компьютера можно разрешить через локальный файл hosts с помощью запросов службы доменных имен (DNS) или методов разрешения имен NetBIOS.
Эта команда доступна, только если протокол Интернета (TCP/IP) установлен в качестве компонента в свойствах сетевого адаптера в окне Сетевые подключения.
Синтаксис
Параметры
Параметр | Описание |
---|---|
/t | Указывает, что команда ping Continue отправляет сообщения эхо-запросов в место назначения, пока не будет прервано. Чтобы прервать и отобразить статистику, нажмите клавиши CTRL + ВВОД. Чтобы прервать выполнение и выйти из этой команды, нажмите клавиши CTRL + C. |
/a | Указывает, что разрешение имен должно выполняться на целевом IP-адресе. В случае успешного выполнения команды Ping отображает соответствующее имя узла. |
параметра <count> | Указывает число сообщений запроса эха, которые будут отправлены. Значение по умолчанию — 4. |
/l <size> | Задает длину (в байтах) поля данных в сообщениях запроса эха. Значение по умолчанию — 32. Максимальный размер — 65 527. |
/f | Указывает, что сообщения эхо-запросов отправляются с флагом "не фрагментировать " в заголовке IP, установленном в значение 1 (доступно только в IPv4). Сообщения эхо-запроса не могут быть фрагментированы маршрутизаторами по пути к назначению. Этот параметр полезен для устранения неполадок с максимальным количеством блоков передачи (PMTU). |
/I <TTL> | Задает значение поля срока жизни (TTL) в заголовке IP для отправленных сообщений эхо-запросов. По умолчанию используется значение TTL по умолчанию для узла. Максимальный срок жизни — 255. |
/v <TOS> | Указывает значение поля типа службы (TOS) в IP-заголовке для отправленных сообщений запроса эха (доступно только в IPv4). Значение по умолчанию — 0. TOS задаются в виде десятичного значения от 0 до 255. |
/r <count> | Указывает параметр записи маршрута в заголовке IP-адреса, который используется для записи пути, полученного сообщением запроса эха, и соответствующего сообщения о эхо-ответе (доступно только в IPv4). Каждый прыжок в пути использует запись в параметре запись маршрута . Если это возможно, укажите значение счетчика , равное или больше, чем число прыжков между источником и назначением. Число должно быть не меньше 1 и не больше 9. |
ключ <count> | Указывает, что параметр отметка времени Интернета в заголовке IP используется для записи времени прибытия сообщения эхо-запроса и соответствующего сообщения эхо-ответа для каждого прыжка. Число должно быть не меньше 1 и не больше 4. Это необходимо для адресов назначения, находящейся в локальной связи. |
/j <hostlist> | Указывает, что сообщения эхо-запроса используют параметр свободного исходного маршрута в заголовке IP с набором промежуточных назначений, указанных в hostlist (только в IPv4). При свободной маршрутизации последовательные промежуточные назначения могут быть разделены одним или несколькими маршрутизаторами. Максимальное число адресов или имен в списке узлов равно 9. Список узлов представляет собой набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами. |
/k <hostlist> | Указывает, что сообщения эхо-запроса используют в заголовке IP параметр с максимальным исходным маршрутом с набором промежуточных назначений, указанных в hostlist (доступно только в IPv4). При использовании явной исходной маршрутизации следующее промежуточное назначение должно быть напрямую достижимо (оно должно быть соседом в интерфейсе маршрутизатора). Максимальное число адресов или имен в списке узлов равно 9. Список узлов представляет собой набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами. |
/w <timeout> | Указывает время ожидания сообщения эхо-ответа, соответствующего заданному сообщению запроса эха, в миллисекундах. Если ответное сообщение не получено в течение времени ожидания, отображается сообщение об ошибке "запрос был превышен). Время ожидания по умолчанию — 4000 (4 секунды). |
/R | Указывает путь к пути приема-передачи, который отслеживается (доступно только в IPv6). |
Ключ <Srcaddr> | Указывает используемый исходный адрес (доступен только в IPv6). |
/4 | Указывает IPv4, используемый для проверки связи. Этот параметр не требуется для определения целевого узла с IPv4-адресом. Необходимо только указать целевой узел по имени. |
/6 | Указывает IPv6, используемый для проверки связи. Этот параметр не требуется для определения целевого узла с IPv6-адресом. Необходимо только указать целевой узел по имени. |
<targetname> | Указывает имя узла или IP-адрес назначения. |
/? | Отображение справки в командной строке. |
Пример выходных данных команды ping
Примеры
Чтобы проверить связь с целевым 10.0.99.221 и разрешить 10.0.99.221 в его имя узла, введите:
Чтобы проверить связь с 10.0.99.221 назначения с 10 сообщениями эхо-запроса, каждый из которых имеет поле данных 1000 байт, введите:
Чтобы проверить связь с назначением 10.0.99.221 и записать маршрут для 4 прыжков, введите:
Чтобы проверить связь с целевым 10.0.99.221 и указать свободный исходный маршрут 10.12.0.1-10.29.3.1-10.1.44.1, введите:
Источник
Как сделать пинг (ping)?
Команда ping в командной строке используются, чтобы убедиться, что компьютер может взаимодействовать с Сетью и ресурсами внутри нее. Ping работает за счёт отправки echo request сообщений по протоколу ICMP ( Internet Control Message Protocol ) и ожидания ответа. Она позволяет узнать, сколько ответов получено, и сколько времени на это ушло:
Синтаксис команды Ping
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [-w timeout] [-R] [-S srcaddr] [-p] [-4] [-6] target [/?]
-t = эта опция будет пинговать целевое устройство до тех пор, пока вы принудительно не остановите запрос с помощью сочетания клавиш Ctrl+C .
-a = запросит имя хоста по целевому IP-адресу .
-n число = задаёт количество ICMP сообщений, которое должно быть отправлено. Если выполнить команду ping без указания этого параметра, то по умолчанию будет отправлено 4 запроса.
-l размер = задает размер пакета echo-запросов ( от 32 до 65,527 ). Без указания этой опции ping отправляет echo-запросы размером в 32 байта.
-f = предотвращает фрагментацию echo-запросов маршрутизаторами, находящимися в цепочке между вами и целевым устройством. Опцию -f часто используют для отладки проблем, связанных с PMTU ( Path Maximum Transmission Unit ).
-i TTL = задаёт длительность TTL ( Time to Live ), максимальное значение которой составляет 255 .
-v TOS = устанавливает значение TOS ( Type of Service ). Параметр не работает в Windows 7 и выше.
-r число = эту опцию для команды ping нужно использовать для указания количества переходов между вашим и целевым компьютером, которое вы хотите записать и вывести. Максимальное значение 9 , так что, если вам интересно узнать точное количество звеньев между двумя устройствами, то лучше использовать tracert .
-s число = время в формате Internet Timestamp , за которое получается и отправляется каждый echo-запрос . Максимальное значение здесь 4 , а это значит, что можно зафиксировать лишь первых 4 перехода.
-w timeout = значения тайм-аута в миллисекундах, в течение которого ping будет ожидать каждого ответа. Если не использовать опцию -w, то тайм-аут по умолчанию будет составлять 4000 миллисекунд ( 4 секунды ).
-R = использование заголовка для проверки также и обратного маршрута.
-S srcaddr = используемый адрес источника.
-p = используется для проверки состояния адреса Hyper-V Network Virtualization .
-4 = проверка состояния подключения только по протоколу IPv4 . Это требуется, когда цель имеет только имя хоста и неизвестен IP-адрес .
-6 = принудительная проверка состояния подключения по протоколу IPv6 . Это необходимо, когда известно только имя хоста.
target ( цель ) = удаленное устройство, состояние которого нужно проверить. Это может быть как IP , так и имя хоста.
/? = вывод справки обо всех доступных параметрах команды ping .
Примечание: -f , -v , -r , -s , -j и -k работают только при проверке состояния IPv4-адресов . Опции -R и -S работают только с протоколом IPv6 .
В команде ping описание есть и менее популярные параметры: [-j host-list] , [-k host-list] и [-c compartment] . Чтобы получить дополнительную информацию о них, воспользуйтесь командой /? .
Примеры команды Ping
В этом примере команда ping используется для проверки состояния хоста www.google.com . Опция -n указывает команде ping на необходимость отправить пять echo-запросов ICMP вместо стандартных четырех, а опция — l задаёт размер пакета для каждого запроса в 1500 байт вместо 32 байт по умолчанию. При таком запросе вы получите следующий результат:
Пункт 0% loss в статистике проверки состояния 74.125.224.82 говорит о том, что все посланные к www.google.com echo-запросы были возвращены. Это значит, что до тех пор, пока сеть активна, можно взаимодействовать с сайтом Google без каких-либо проблем.
В этом примере использования команды ping в cmd проверяется состояние 127.0.0.1 , который также известен как IP-адрес localhost в протоколе IPv4 .
Ping 127.0.0.1 – отличный способ проверить работоспособность всех функций Windows . Но с помощью этого запроса не получится узнать о состоянии своего или удаленного компьютера. Существует и IPv6-версия этой проверки — ping ::1 .
В этом примере мы пытаемся узнать имя хоста, привязанное к IP-адресу 192.168.1.22 . При этом проверка должна быть проведена в штатном режиме, даже если имя хоста выяснить не удастся.
Как видно из приведенного выше примера, команда ping в Windows 7 определила проверяемый IP-адрес как имя хоста J3RTY22 , после чего осуществила проверку состояния при стандартных настройках.
В этом примере мы, при помощи опции -6 , включаем принудительное использование протокола IPv6 , а затем приступаем к бесконечной проверке состояния SERVER ( при помощи опции -t ).
После семи полученных ответов мы намеренно прервали проверку состояния. Вспоминаем, как остановить команду ping ? При помощи Ctrl+C . Также -6 привела к использованию адресов по протоколу IPv6 .
Совет: число после знака % в сгенерированных в данном примере ответах указывает на Zone ID протокола IPv6 , которая определяет используемый сетевой шлюз. Можно сгенерировать таблицу из Zone ID , совпадающих с названием вашего сетевого шлюза, при помощи netsh interface ipv6 show interface . IPv6 Zone ID отображается числом в колонке Idx .
Поддержка команды Ping
Команда ping поддерживается в командной строке ОС Windows 10 , Windows 8 , Windows 7 , Windows Vista и Windows XP , а также Windows 98 и 95 .
Её также можно использовать в дополнительных настройках автозагрузки и опциях восстановления системы.
Связанные команды
Команда ping часто используется как дополнение к другим командам ( tracert , ipconfig , netstat , nslookup и другие ).
Источник
Получить только значение пинга из вывода команды ping
Ув. КиберФорумчане!
Есть в природе команда ping!
Так вот, при выполнении команды ping sealink.tk -n 1
Оно выводит:
Обмен пакетами с sealink.tk [31.220.16.185] по 32 байт:
Ответ от 31.220.16.185: число байт=32 время=75мс TTL=52
Статистика Ping для 31.220.16.185:
Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь),
Приблизительное время прима-передачи в мс:
Минимальное = 75мсек, Максимальное = 75 мсек, Среднее = 75 мсек
Так вот мне нужно что-бы на выходе получилась только значение пинга.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Запись вывода результата выполнения команды ping в текстовый файл в нужной кодировке
Собственно для запоминания результата пинга в тхт использую следующюю команду: ping google.com >.
Как сделать так, чтобы при выполнении команды PING в файл записывалась только статистика?
Как сделать так, что бы выполнении команды: ping ya.ru -n 10 в файл записывалось только статистика.
Мучение вывода команды "Ping"
Доброго времени суток. Нужен батник, выдирающий МС из вывода пинга нескольких IP и заносящий в.
Нужен код пинга (ping)
есть задача: регулярно пинговать n компов. Если у кого есть код, который это делает, или dll? буду.
Источник