arpwatch (Arp monitoring tool)

[ 戻る | トップページに戻る ]

概要

arpwatch とは、MAC アドレスと IP アドレスの対応データベースを作成する ためのツール。変更があると email で通知することが可能。

URL

ftp://ftp.ee.lbl.gov/

インストール環境

Plamo Linux 2.2.1 (Kernel 2.2.19 + glibc 2.2)

必要なもの

libpcap

バージョン

2.1a11

インストール手順

$ tar xvfz arpwatch-2.1a11.tar.gz 
$ cd arpwatch-2.1a11
$ ./configure
(snip)
checking for local pcap library... ../libpcap-0.4/libpcap.a
(snip)
$ make
(snip)
gcc -O -DDEBUG -DHAVE_FCNTL_H=1 -DHAVE_MEMORY_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_BCOPY=1 \
    -DHAVE_STRERROR=1 -DRETSIGTYPE=void -DRETSIGVAL= -DHAVE_SIGSET=1 -Dsignal=sigset \
    -DDECLWAITSTATUS=int -DHAVE_LIBRESOLV=1  -DARPDIR=\"/usr/local/arpwatch\" \
    -DPATH_SENDMAIL=\"/usr/sbin/sendmail\" -I. -I../libpcap-0.4 -Ilinux-include \
    -c ./version.c
make: *** `arpwatch' に必要なターゲット `../libpcap-0.4/libpcap.a' を make するルールがありません.  中止。

むう。どうやら libpcap を ../libpcap-0.4/libpcap.a と認識しているのに、 そのディレクトリには libpcap.a なんて存在しないのが原因らしい。
むむ〜、確かにそのディレクトリに libpcap のソースは展開してあるのだが、 なんでちゃんとインストールした方の libpcap.a (/usr/local/lib/libpcap.a) を見ないんだー!!

ここは安易に libpcap を再度コンパイルし、当該ディレクトリに libpcap.a が存在 する状態で arpwatch のコンパイルを実行すると問題なく終了。 あとはインストールしておしまい。
$ su
# make install
# make install-man
# exit

では実行。
$ su
# /usr/local/sbin/arpwatch

この時のログ (/var/log/messages) を見ると...。
Feb  5 09:06:45 server arpwatch: chdir(/usr/local/arpwatch): No such file or directory
Feb  5 09:06:45 server arpwatch: (using current working directory)
Feb  5 09:06:45 server kernel: device eth0 entered promiscuous mode
Feb  5 09:06:45 server arpwatch: listening on eth0
Feb  5 09:06:45 server arpwatch: fopen(arp.dat): No such file or directory
Feb  5 09:06:45 server kernel: device eth0 left promiscuous mode

man を見ると、データファイル (デフォルトは arp.dat) を事前に作成しておく 必要があるとのこと。
# touch arp.dat
# /usr/local/sbin/arpwatch

これで起動したが arp.dat に何も書かれない。 /var/log/messages にはログが載るし、root 宛にもメールはくるのだが...。 と思ったら、一定時間後に、更新され、バックアップが arp.dat- として作られた。 これで OK かな。

[ 戻る | トップページに戻る ]