Перейти к основному содержанию

Ping — выводить только долгий результат

code

Ping — это одна из самых базовых и полезных сетевых утилит в Linux (и других ОС). Её главная задача — проверить доступность сетевого узла и измерить параметры соединения. Это одна из базовых утилит траблшутинга сетевых проблем системного администратора.

Пингуем хост и проверяем, есть ли задержки. Когда проблема плавающая, бывает сложно поймать тот момент, когда хост долго отвечает.

Linux

Немного модифицируем ping в Linux, чтобы отображать только долгие ответы.

Например, ответ такой:

64 bytes from 10.224.60.6: icmp_seq=14 ttl=128 time=0.278 ms

Нам не интересно time=0.278 ms, хочется поймать более долгие ответы. Пишем однострочник:

ping 192.168.0.1 \
| grep -E "time=[1-9]{1}" --line-buffered \
| gawk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; fflush(); }'

Теперь увидим результат только если время ответа 1 и более мс. Или можно так:

ping 192.168.0.1 \
| grep -E "time=[0-9]{2}" --line-buffered \
| gawk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; fflush(); }'

Теперь увидим результат только если время ответа 10 и более мс. Принцип понятен.

ping

Windows

А в Windows? Немного GPT и получаем для русскоязычной версии:

for /l %i in (0,0,0) do @(for /f "tokens=1 delims=." %t in ("%time%") do @(ping -n 1 192.168.1.1 | findstr "время=[1-9][0-9]")) & timeout /t 1 /nobreak >nul

Результат немного не такой, потому что не выводится дата и время, но принцип тот же.

ping

Теги

 

Похожие материалы

Zabbix — оповещение по телефону через Asterisk

Как-то раз мы проспали проблему. Zabbix прислал пару SMS, но никто ночью не проснулся. А если бы Zabbix позвонил, да ещё бы и рассказал о проблеме, то было бы проще всё упавшее поднимать. Учим Zabbix звонить на телефон.

Теги

BAT скрипт — скрыть вводимый пароль

Понадобилось модифицировать пакетный BAT скрипт таким образом, чтобы на экране не отображался ввод пароля. Планировалось демонстрировать работу скрипта на экране, при этом нужно было не светить вводимый пароль.

Теги