Einzelnen Beitrag anzeigen
Ungelesen 13.01.11, 21:04   #5
tha_specializt
`
 
Registriert seit: Nov 2010
Ort: Zuhause
Beiträge: 142
Bedankt: 37
tha_specializt ist noch neu hier! | 0 Respekt Punkte
Standard

Microsoft Windows war als Server-OS schon immer eher ungeeignet - zumal mal (wenn überhaupt) dann auch eine Serverversion nutzen sollte - in den Desktop-Versionen von Winblows gibt es zuviele unberechenbare Faktoren und Angriffspunkte.
Ich würde -insbesondere in Hinsicht auf die Anforderungen- unbedingt Linux empfehlen, dort ist die Aufgabe auch nativ bzw. deutlich einfacher umsetzbar - die PowerShell erfordert mitunter unfassende Kenntnisse über VB, die PS selbst und sogar COM (wenn es komplexer werden soll) ... nun .. ein derartiges S***** wäre wohl mit VB auch recht leicht, hat man erstmal die Kenntnisse dazu.

Unter Unix kann man ganz einfach ein S***** über die Crontab starten :
Code:
*/5 * * * * su -c /s***** || halt
/s*****:
Code:
#!/bin/bash

host=127.0.0.1
port="22"
wc=`which wc`
nmap=`which nmap`
ping=`which ping`
cut=`which cut`
grep=`which grep`
tr=`which tr`
keyword="open"
echo=`which echo`

success="Client online"
failure="Client offline"

_portscan()
{
        $nmap -PN -p$port -R $host | $grep $port | $cut -d ' ' -f2 | $grep $keyword > /dev/null && { echo $success; return 0; } || { echo failure; return 1; }
}

_ping()
{
        $ping $host -i 5 -qc 3 -W 15 && return 0 || return 1
}

for ((  i = 1 ;  i <= 20;  i++  ))
do       
        _ping && _portscan && exit 0
done

exit 1
--> das S***** prüft zusätzlich nen TCP-Port den du angibst ... kann man weglassen, ausserdem müsste man noch das Iterieren der IP-Liste einbauen aber das is ja kein Problem, die Schleife hat man ja bereits
tha_specializt ist offline   Mit Zitat antworten