Linuxシステムでのトラフィック解析に関してはntopやvnstatなどの本格的なプログラムを使えば済む話だが、状況によってはネットワーク上のホスト群で交換されるトラフィック量の基本情報だけを簡易的に把握できればいいという場合もあるだろう。そうした用途に適しているのが、バックグラウンドプロセスの1つとして実行されるパケットスニッファのDarkstatという小型プログラムである。その基本機能は、ネットワークの利用状況に関する統計情報を収集して、HTTP経由で表示するというものだ。
今回私は同プログラムの最新バージョン(darkstat-3.0.707.tar.bz2)をCentOS 5およびFedora 7システムにて試してみた。具体的なインストール操作としては「tar xvjf darkstat-3.0.707.tar.bz2」によるtarボールの展開をしてから、通常の手順に従って「./configure; make; make install」を実行すればいい。Darkstatの起動は次のコマンドで行える。
darkstat -i eth0
ここで指定したインタフェースに対するパケットチェックはバックグラウンドで実行されるので、本プログラムの起動後、ユーザの操作はシェルに戻される。その際に本プログラムから出力されてくるのは、次のような情報である。
darkstat 3.0.707 (built with libpcap 2.4) darkstat (19646): starting up darkstat (19646): daemonizing to run in the background! darkstat (19647): I am the main process darkstat (19647): DNS child has PID 19648 darkstat (19646): parent waiting darkstat (19647): caplen is 54 darkstat (19648): set uid/gid to 99/99 darkstat (19647): capturing in promiscuous mode darkstat (19647): listening on 0.0.0.0:667 darkstat (19647): loaded 129 protos darkstat (19647): loaded 4594 tcp and 4549 udp servs, from total 9158 darkstat (19647): chrooted into: /var/empty darkstat (19647): set uid/gid to 99/99 darkstat (19647): local_ip update(eth0) = 192.168.0.5 darkstat (19647): entering main loop darkstat (19646): parent done reading, calling waitpid darkstat (19646): waitpid ret 0, status is 3
この3行目を見ると、Darkstat自身がサービスの1つとして起動され自動的にデーモンとされていることが確認できる。同じく4行目を見るとそのPIDが表示されているので、本プログラムに対する終了操作は「kill -9 19647」という指定で行えるが、あるいは「killall darkstat」としてもよい。
