我正在我的桌面上使用snort,当规则被触发时,我希望看到一个弹出窗口。我用local.rules写了自己的规则。我不使用任何电子邮件系统,所以请忽略邮件选项.日志位于/var/log/snort/警报文件中。有什么办法能成功吗。当一个警报写到这个文件时,我想看到一个图形警告。我试图编写一个bash脚本来检查警报文件,当哈希被更改时,弹出最后10行带有通知发送的代码,但我做不到。你能帮帮我吗?问候
发布于 2015-02-26 02:23:54
我认为你可以这样做:
#!/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方面的专家,所以可能会有一些清理,你可以用这个。一个问题是,如果有多个新的警报,那么通知-发送将把警报放在一条线上,我无法找到解决这个问题的方法,但您可能需要做一些修改,或者您可以删除第二部分,让警报告诉您有新的警报,甚至不显示它们。
https://stackoverflow.com/questions/28676484
复制相似问题