Tips記事
» 2002年03月20日 00時00分 UPDATE

Pingリクエストをログ記録したい

[木田佳克,ITmedia]

 Pingリクエストを受けているかどうかは,通常ICMP(Internet Control Message Protocol)を判別すればよい。ICMPとは,IPパケットのプロセスに関連するエラー情報などをレポート提供するものだ。

 ICMP(Pingリクエスト)を判別するツールには幾つかのものがあるが,ここでは「pinglogger」を紹介しよう。RPMパッケージでのインストールからログまでを挙げる。

# wget http://redhat.ifsic.univ-rennes1.fr/contrib/libc6/i386/pinglogger-1.1-0.i386.rpm

# rpm -Uvh pinglogger-1.1-0.i386.rpm

 上記のようにインストールをしたら,デーモンとして起動させればよい。RPMパッケージのインストールでは起動スクリプトまで自動生成されるため,次のように指定すればすぐに起動できるはずだ。

# /etc/rc.d/init.d/pinglogger start
Starting pinglogger daemon:            [OK]

 起動以降は,Pingリクエストを受け取ると/var/log/ping.logファイルに次のように記録される。

# tail /var/log/ping.log
Wed Mar 13 01:22:13: ICMP Echo Request Received From: 210.165.xxx.xxx
Wed Mar 13 01:22:14: ICMP Echo Request Received From: 210.165.xxx.xxx
Wed Mar 13 01:22:15: ICMP Echo Request Received From: 210.165.xxx.xxx
.......以下略........

 また,次のように同じ秒数で何十行ものログが記録されている場合には,記録されているIPアドレス元からFlood攻撃を受けたことが考えられる。

# tail /var/log/ping.log
Wed Mar 13 15:08:42: ICMP Echo Request Received From: 202.33.152.xxx
Wed Mar 13 15:08:42: ICMP Echo Request Received From: 202.33.152.xxx
Wed Mar 13 15:08:42: ICMP Echo Request Received From: 202.33.152.xxx
Wed Mar 13 15:08:42: ICMP Echo Request Received From: 202.33.152.xxx
Wed Mar 13 15:08:42: ICMP Echo Request Received From: 202.33.152.xxx
Wed Mar 13 15:08:42: ICMP Echo Request Received From: 202.33.152.xxx
Wed Mar 13 15:08:42: ICMP Echo Request Received From: 202.33.152.xxx
.......以下略........

 なお,このままではログファイルが肥大化する一途である。このため,Red Hat系Linuxでインストールされるログ管理ツール「logrotate」を利用し,次のようにスクリプトファイルを作成しておこう(関連Tips:「ログローテートツール「logrotate」を使いこなしたい」)。

# vi /etc/logrotate.d/pinglogger

/var/log/ping.log {
missingok
postrotate
/usr/bin/killall -HUP pinglogger 2> /dev/null || true
endscript
}

 これで,/etc/logrotate.confファイル内に設定されている期間(例:weekly)ごとに,ログファイルが世代管理されるようになる。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ