lost and found ( for me ? )

iftop , nethogs , iptraf

アプリケーションごとに、どのくらいネットワークを使用しているかチェックできるツールないかなと探してたら、iftop , nethogs , iptraf というツールがあったので使ってみた。
使った印象として、iptraf かnethogs がアプリケーション毎のトラフィックチェックに向いていそう。

iptraf:

TCP , UDP ポート単位に表示できるのでこれでチェックできそう。
フィルタ、ログなど、設定できる項目が多数ある。

iftop:

指定したポートごとに分けて表示されないので、複数ポートをまとめてチェックするのは難しそう。
複数 iftop を実行すればできそうだが、負荷が気になる。

nethogs:

プロセス毎なので、Apacheのように複数プロセスを起動するアプリは、アプリが1つ(のように見えても)、プロセスの数だけ表示される。合算すれば問題ないと思う。

[ iftop ]

root@ubuntu:~# apt-get install iftop

シンプルな使い方

-n は DNS lookup しないようにする。

root@ubuntu:~# iftop -n -i eth0


設定をファイルに書くこともできる。

root@ubuntu:~# cat iftop.cfg            
interface: eth0
dns-resolution: no
hide-destination: yes
hide-source: yes
log-scale: yes

root@ubuntu:~# iftop -c iftop.cfg


フィルタも書ける。

dst host ホスト名
dst net ネットワーク
dst port ポート番号
dst portrange 開始ポート番号-終了ポート番号
src host ホスト名
src net ネットワーク
src port ポート番号
src portrange 開始ポート番号-終了ポート番号
gateway ゲートウェイ
ip proto プロトコル


コンフィグファイルに filter-code を複数かけるけど、別々(下記の場合TCP 25 と 80 別々)ではなく、まとめてでちゃうな。。

root@ubuntu:~# cat iftop.cfg               
interface: eth0
dns-resolution: no
hide-destination: no
hide-source: no
log-scale: yes
filter-code: dst port 25
filter-code: dst port 80

[ nethogs ]

root@ubuntu:~# apt-get install nethogs

root@ubuntu:~# nethogs eth0

プロセス毎だから、アプリケーション毎ではない。
Apache みたく複数プロセスを起動するものは、プロセス毎でててくるので、合算する必要がある。


-t トレースモード
-d 表示間隔 ( 秒: デフォルト1秒 )

[ iptraf ]

  #  apt-get install iptraf
  #  iptraf


各種設定


テキストにログを出力


root@ubuntu:~# cat /var/log/iptraf/ip_traffic-1.log
Wed Oct  6 10:15:14 2010; ******** IP traffic monitor started ********
Wed Oct  6 10:15:14 2010; TCP; eth0; 1500 bytes; from 192.168.122.112:22 to 192.168.122.1:36519; first packet
Wed Oct  6 10:15:14 2010; TCP; eth0; 52 bytes; from 192.168.122.1:36519 to 192.168.122.112:22; first packet

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.