Skocz do zawartości
Zaloguj się, aby obserwować  
BlueMan

Monitorowanie stron

Polecane posty

Swego czasu miałem taki prosty skrypt do monitorowania stron (właściwie on tylko pingował, a nie dokładnie badał stronę) - prosty, bo na ajaxie był. Pingował sobie co jakiś czas, a wyniki zapisywał w bazie danych. Można było podać także port w jaki ma stukać.

Nie mogę sobie przypomnieć jego nazwy - może wiecie o jaki skrypt chodzi i pomożecie? :)

 

Chyba, że coś bardziej zaawansowanego free jest dostępne w sieci :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Swego czasu miałem taki prosty skrypt do monitorowania stron (właściwie on tylko pingował, a nie dokładnie badał stronę) - prosty, bo na ajaxie był. Pingował sobie co jakiś czas, a wyniki zapisywał w bazie danych. Można było podać także port w jaki ma stukać.

Nie mogę sobie przypomnieć jego nazwy - może wiecie o jaki skrypt chodzi i pomożecie? :)

 

Chyba, że coś bardziej zaawansowanego free jest dostępne w sieci :)

 

Przecież to jest do napisania w 15 minut z przerwą na kawę - netcat, nmap, ping, cron.

Z bardziej zaawansowanych rzeczy to jest np. monit, a z wypasionych - nagios.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

tak na szybko

#!/bin/bash

hostt=$1
if [ "$#" -lt 1 ]
then
echo 'Podaj nazwe hosta'
read hostt
fi
ip=`resolveip $hostt |awk '{print $6}'`
czas=`date |awk '{print $2,$3,$4}'`

for port in 80 443  ## skanowane porty

do
if nc -zv -w30 $hostt $port <<< . &> /dev/null
then
   	echo $czas "PORT:$port na $hostt [$ip] JEST OTWARTY"  >> $hostt.log

else
   	echo $czas "PORT:$port na $hostt [$ip] JEST ZAMKNIETY" >> $hostt.log

fi
done

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Można trochę prościej. Poza tym pamiętaj że netcat to nie w każdej dystrybucji nc, czasami to polecenie 'netcat'

 

 

#!/bin/bash

hostt=$1
porty=(80 443)
NC=$(which netcat || which nc)

if [ "$#" -lt 1 ]
then
       read -p 'Podaj nazwe hosta: ' hostt
fi

ip=$(resolveip -s $hostt)
czas=$(date +%c)

for port in ${porty[@]}
do
   $NC -z -w30 $hostt $port <<< . &> /dev/null && stan='OTWARTY' || stan='ZAMKNIĘTY'
   echo $czas "PORT:$port na $hostt [$ip] JEST $stan" >> $hostt.log
done

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×