--- nagios-plugin-check_scan/check_scan 2015-06-08 15:11:24.537599653 +0300 +++ nagios-plugin-check_scan-20051011/check_scan 2015-06-08 15:20:57.107351465 +0300 @@ -60,11 +60,18 @@ # 3. incorporate critical port lists # # - - - - - - - - SET THESE VARIABLES - - - - - - - - - - - - -BASEDIR=/etc/nagios/scancheck #where to keep everything - #must be nagios user writable -NMAPPATH=/usr/bin #where is nmap +# where to keep everything +# must be nagios user writable +BASEDIR=/var/lib/nagios/check_scan #------------------------------------------------------------ +# constants from utils.sh +STATE_OK=0 +STATE_WARNING=1 +STATE_CRITICAL=2 +STATE_UNKNOWN=3 +STATE_DEPENDENT=4 + #note... to run manually, you have to supply a dummy #argument 1, since the ip address is arg2 @@ -73,7 +80,7 @@ if [ ! "$IP" ]; then echo "No IP address supplied" - exit 0 + exit $STATE_UNKNOWN fi @@ -111,38 +118,38 @@ fi -SCANTIME=`/bin/date +%Y%m%d-%H%M` +SCANTIME=`date +%Y%m%d-%H%M` -/usr/bin/nmap -sT -P0 $IP | /bin/grep -w open | \ -/usr/bin/sort > $SCANDIR/$IP +nmap -sT -P0 $IP | grep -w open | \ +sort > $SCANDIR/$IP -DIFF=`/usr/bin/comm -23 $SCANDIR/$IP $SCANDIR/$IP.base` +DIFF=`comm -23 $SCANDIR/$IP $SCANDIR/$IP.base` if [ "$DIFF" ]; then CHANGED=1 - DIFFSTR=`echo "$DIFF" | /usr/bin/awk '{print $1}' | \ - /usr/bin/paste -s -d " " -` + DIFFSTR=`echo "$DIFF" | awk '{print $1}' | \ + paste -s -d " " -` fi if [ $INITIAL -eq 1 ]; then - /bin/cat $SCANDIR/$IP > $SCANDIR/$IP.base + cat $SCANDIR/$IP > $SCANDIR/$IP.base echo "Initial scan" - exit 0 + exit $STATE_OK fi if [ $CHANGED -eq 1 ]; then echo "Scan $SCANTIME: NEW $DIFFSTR" - exit 1 + exit $STATE_WARNING else echo "$SCANTIME: no change" - exit 0 + exit $STATE_OK fi