偵測 NAT 內部主機連線狀況
偵測 NAT 內部主機連線狀況,如果斷線,E-mail 通知 admin
#!/bin/bash
## need to install postfix first
DEBUG=0
echo "120" > /proc/sys/net/ipv4/netfilter/
ip_conntrack_generic_timeout
LOG="/proc/net/ip_conntrack"
SERV_IP="60.199.220.6"
MSG_FROM="140.116.177.231"
CLI_IP1="192.168.50.37"
CLI_IP2="192.168.50.38"
det1=0
det2=0
f_old_det1="/tmp/old_det1"
f_old_det2="/tmp/old_det2"
mail_content="/tmp/mail"
admin="aaron@netdpi.net"
touch $f_old_det1
touch $f_old_det2
old_det1=`cat $f_old_det1`
old_det2=`cat $f_old_det2`
det1=`cat $LOG|grep $SERV_IP|grep $CLI_IP1|grep ESTABLISH|wc -l`
det2=`cat $LOG|grep $SERV_IP|grep $CLI_IP2|grep ESTABLISH|wc -l`
if [ $DEBUG -eq 1 ]; then
echo "old_det1: $old_det1"
echo "old_det2: $old_det2"
echo "det1: $det1"
echo "det2: $det2"
fi
echo $det1 > $f_old_det1
echo $det2 > $f_old_det2
cat /dev/null > $mail_content
echo "MSG FROM: $MSG_FROM" >> $mail_content
echo -n "Detection date: " >> $mail_content
echo
date >> $mail_content
if [ $det1 -lt 2 ]; then
echo "$CLI_IP1 disconnect!" >> $mail_content
else
echo "$CLI_IP1 connect!" >> $mail_content
fi
if [ $det2 -lt 2 ]; then
echo "$CLI_IP2 disconnect!" >> $mail_content
else
echo "$CLI_IP2 connect!" >> $mail_content
fi
MAIL_FLAG=0
if [ "$det1" != "$old_det1" ]; then
MAIL_FLAG=1
fi
if [ "$det2" != "$old_det2" ]; then
MAIL_FLAG=1
fi
if [ $MAIL_FLAG -ne 0 ]; then
mail -s "[note] JS Detection `date +%y/%m/%d-%H:%M`" $admin < $mail_content
fi
exit 0;shell
Last updated