Скрипт для пингования Блог +Прошивка и разработка+ - Скрипт для пингования

Блог +Прошивка и разработка+

Красивый скрипт для мониторинга и пингования диапазона IP адресов (редактирование size packets, color и т.д.)
Пароль
Регистрация
Yandex Google Вконтакте Mail.ru Twitter Loginza WebMoney

Скрипт для пингования

Дата публикации: 12.12.2016г.
Рейтинг 4.28 Голосов: 293

Скрипт для пингования (bash,linux,freebsd,shel,unix)

Скрипт для пингования

Скрипт для пингования (bash,linux,freebsd,shel,unix) 2016-12-12 skript-dlya-pingovaniya 200 300 200 300 Блог +Прошивка и разработка+ Рейтинг 4.28 / 5 293

Скрипт для пингования

Поделится: Поделиться В Контакте Поделиться в Моем Мире@Mail.Ru Добавить в Одноклассники Поделиться в Facebook

Скрипт для пингования

Создание скрипта для мониторинга пингов

Мы будем делать красивый мониторинг хостов в своей сети.
Я буду писать на ОС Линукс (Linux BLOG-ZMAP 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux), в статье описывается образно как создать бесконечный скрип, дальше дело за вашей фантазией ;)

С начала нужно создать бесконечный цикл:

#!/bin/bash

while true
do
echo test
done

После как проверили работу цикла можно начать тестировать команду ping

Тест пингования в цикле:

#!/bin/bash

while true
do
p=`ping ya.ru -c 1`
echo $p
done

Обратите внимание на ключ "-c 1" что значит выводить одну строку

Теперь нам нужно изменить цвет в консоли:

#!/bin/bash

while true
do
echo -e "\033[37;1;41m test \033[0m"
done

Для того чтоб в консоли выводился цвет нужен ключ "-e"

Вот не сложная табличка цветов в терминале (bash)

Цвет в консоли bash

Весь скрипт:

#!/bin/bash

t=1
ip="ya.ru vk.com google.com ok.ru 8.8.8.8 8.8.4.4"
ms=40
size="-s 24000"
while true
do
sleep 1
echo -en $t" "
for a in $ip;
do
p=`ping $a $size -c 1 | grep ttl | cut -f 4 -d "=" | cut -f 1 -d "." | sed s/[^0-9]//g`
if
then
echo -en "\033[37;1;41m $a \033[0m"
else
if (( "$p" <= "$ms" ))
then
echo -en "\033[37;1;42m $a \033[0m"
else
echo -en "\033[37;1;43m $a \033[0m"
fi
fi
echo -n " "
done
let t=t+1
if (( "$t" >= "10" ))
then
t=1
fi
echo ""
done

Объясню что происходит в скрипте:

  • t - это нумерация цикла когда доходит до 9 сбрасывается на 1
  • Ключ "-n" в команде echo обозначает что не переходить на новую строку
  • ms - это значение в миллисекундах после которых цвет перейдет в желтый
  • size - это размер пакета к примеру 65000, если не требуется просто за комментируйте строку #size="-s 24000"
  • ip - список IP адресов или доменов через пробел которые нужно тестировать
  • p - сама команда пингования и фильтрации ms

Печать

Комментарии (0)

    Вы должны авторизоваться, чтобы оставлять комментарии.

    Copyright © 2016 zmap
    Использование любых материалов сайта возможно только с разрешения автора.