0

我在我的桌面上使用 snort,我想在触发规则时看到一个弹出窗口。我在 local.rules 中编写了自己的规则。我不使用任何电子邮件系统,所以请忽略邮件选项。日志位于 /var/log/snort/alerts 文件中。有什么办法可以成功。当向这个文件写入警报时,我想看到一个图形警告。我尝试编写一个检查警报文件的 bash 脚本,并且当哈希更改时,使用 notify-send 弹出最后 10 行,但我不能达到那个..请你帮我吗?问候

4

1 回答 1

0

我认为您可以执行以下操作:

#!/bin/sh

#Get current line count 
LINES=`wc -l /var/log/snort/alerts | tr -d -c 0-9`

while [ true ]
do
NEWCOUNT=`wc -l /var/log/snort/alerts | tr -d -c 0-9` #Get new line count
if [ $LINES != $NEWCOUNT ]
  then
    DIFF=`expr $NEWCOUNT - $LINES`      #Get the difference
    LINES=$NEWCOUNT                     #Set the line count to the new count
    COMMAND="$(tail -n "$DIFF" alert)"  #Get the output of the new lines in the file
    echo "$(notify-send "$DIFF new alerts: $COMMAND")"
    sleep 5  #sleep 5 seconds
fi
done

这将每 5 秒检查一次新警报,如果您想让它不断检查,您可以删除睡眠,但您可能需要使用一秒钟或其他时间。我不是 bash 方面的专家,因此您可能会对此进行一些清理工作。一个问题是,如果有多个新警报,则 notify-send 会将警报放在一行上,我找不到解决此问题的方法,但您可以进行一些修改,或者您可以删除第二部分,然后让警报告诉您有新警报,甚至不显示它们。

于 2015-02-26T02:23:54.947 回答