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