发生攻击时向管理员发送电子邮件的脚本

发生攻击时向管理员发送电子邮件的脚本

我正在使用一个脚本,该脚本会在攻击超过阈值时自动转储攻击。脚本如下所示:

interface=eth0
dumpdir=/tmp/

while /bin/true; do
  pkt_old=`grep $interface: /proc/net/dev | cut -d :  -f2 | awk '{ print $2 }'`
  sleep 1
  pkt_new=`grep $interface: /proc/net/dev | cut -d :  -f2 | awk '{ print $2 }'`



  pkt=$(( $pkt_new - $pkt_old ))

  echo -ne "\r$pkt packets/s\033[0K"


  if [ $pkt -gt 10000  ]; then
    echo -e "\n`date` Under attack, dumping packets."
    tcpdump -nn -s0 -c 2000 -w $dumpdir/dump.`date +"%Y%m%d-%H%M%S"`.cap
    echo "`date` Packets dumped, sleeping now."
    sleep 300
  fi
done

我希望同一个脚本能够在服务器受到攻击时向指定地址发送电子邮件以通知管理员。我们应该如何实现这一点?

答案1

因此我使用以下命令完成了此操作。

echo Hey | mail -s Test [email protected]

上述命令不起作用,因此我通过安装默认未安装的 sendmail 来修复它。

相关内容