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秒ごとに新しいアラートをチェックします。常にチェックしたい場合は、スリープを削除できますが、1秒か何かを使用することをお勧めします. 私は bash の専門家ではないので、これでできるクリーンアップがあるかもしれません。1 つの問題は、複数の新しいアラートがある場合、notify-send がアラートを 1 行に表示することです。新しいアラートがあることをアラートに通知させ、それらを表示することさえしません。

于 2015-02-26T02:23:54.947 に答える