[Home] [Kuri] [Blog] [Sysad] [Download] [Flash] [Profile] [Antena]

ipmonchk.pl - IP Filter のログ集計スクリプト

概要

このプログラムは、IP Filter が出力するログを集計して、サマリ表示を 行うための Perl スクリプトです。

注意事項

このプログラムはフリーソフトウェアです。
著作権は、
臼田 尚志 が保持します。
このプログラムの使用によるいかなる損害に対しても、作者は責任 を負いません。

変更の有無にかかわらず、再配布および利用は、以下の条件を満たしてい れば、行って頂いて結構です。

動作環境

Net::DNS が必要です。こちらでは、0.12 を使用しました。
また、以下の OS で動作することを確認しました。

ダウンロード

ipmonchk-0.82.tgz

使用方法

書式

ipmonchk.pl [-d][-h][-n][-p port[,port,...]][-s address]

説明

IP Filter が出力するログを標準入力から受けとり、集計して標準出力に サマリを出力します。

オプション

-d詳細情報も出力します。
-h上記書式を出力し、終了します。
-nIPアドレスの逆引きを行いません。
-p port[,port,...]ここで指定したポート番号と宛先 ポート番号が一致する場合、その情報は集計の対象としません。
-s address最後にシグニチャを出力します。

使用例

宛先ポート番号が 80(http) あるいは 113(ident) の情報を無視し、詳細 情報も出力したい場合は、以下のように実行します。

  ipmonchk.pl -d -p 80,113

毎日決まった時間(下記では午前3時)にログ(下記では /var/log/messages.0.gz) を集計し、管理者にメールで報告するようにしたい場合、cron に登録する 内容は以下のようになります。(行末の \ は折り返しを表します。)

  0 3 * * * /usr/bin/zcat /var/log/messages.0.gz | /some/where/ipmonchk.pl | \
  /usr/bin/Mail -s "ipmon at `/bin/date +\%Y/\%m/\%d`" root
  

各コマンドのパスは、適時環境に合わせて変更してください。
FreeBSD で /etc/crontab に書く場合は、以下のようになります。

  0 3 * * * root /usr/bin/zcat /var/log/messages.0.gz | /some/where/ipmonchk.pl | \
  /usr/bin/Mail -s "ipmon at `/bin/date +\%Y/\%m/\%d`" root
  

/var/log/messages.0.gz を読むことができるユーザであれば実行可能です ので、わざわざ root の権限で実行する必要はないかもしれません。

謝辞

適切なアドバイス等をしてくれた 山内氏 にものすごく感謝します。

履歴

2002/11/12:集計しないポートも、アクセス数だけは 集計するように変更。(0.82)
2002/05/17:以下の細かい修正を行った。(0.81)
ポートの表記を統一。
チェックを少し厳密にした。(ごみを拾うことがあった。)
2002/05/14:初期バージョン(0.80)のリリース。