今回は、Linux上でネットワークトラフィックの監視を行えるモニタリングコマンドについて、数あるコマンドから20個を紹介する。
1.iftop
以前にこちらでも書いているiftopは、個別のソケットで受信・送信パケットをひと目で見る事が出来るコマンド。
通信ごとに個別のプロセスを表示させることは出来ないが、どのホストとの接続がどの程度の帯域を使用しているのかはひと目で分かるだろう。
以下のコマンドでインストールが出来る。
sudo apt-get install iftop # Debian/Ubuntuの場合
sudo yum install iftop # RHEL系の場合
2.bmon
『bmon』は、グラフでトラフィックの負荷を表示してくれるモニタリングコマンドだ。
どのNICのトラフィックを表示させるかを上下キー、モニタリングを行うパケットの種類を左右キーで選択する。
このコマンドも、以前こちらで紹介している。
以下のコマンドでインストールが出来る。
sudo apt-get install bmon # Debian/Ubuntuの場合
sudo yum install bmon # RHEL系の場合
3.iptraf
iptrafは、コンソール上でGUIのように操作出来るネットワークのモニタリングコマンドだ。
画面下部にログを表示し、上部にそれぞれのホストとのトラフィック量が表示されている。
以下のコマンドでインストールが出来る。
sudo apt-get install iptraf iptraf-ng # Debian/Ubuntuの場合
sudo yum install iptraf # RHEL系の場合
4.Nload
Nloadは、bmonのようにNICごとのトラフィック量をグラフ化して表示してくれるモニタリングツールである。
グラフ化するには、「-i」および「-o」オプションを用いてメモリの値を指定する必要がある。
以下のコマンドでインストールを行う。
sudo apt-get install iptraf nload # Debian/Ubuntuの場合
sudo yum install nload # RHEL系の場合
5.nethogs
nethogsは、プロセスごとに利用しているネットワークトラフィックをモニタリング出来るコマンドだ。
トラフィックを占めているPIDと実行ユーザ、そしてプログラムパスとNICを表示してくれる。
以下のコマンドでインストールを行う。
sudo apt-get install iptraf nethogs # Debian/Ubuntuの場合
sudo yum install nethogs # RHEL系の場合
6.speedometer
speedometerは、グラフでネットワークトラフィック量を確認出来るモニタリングコマンドだ。
コンソール上で複数のグラフを表示させることも可能だ。
以下のコマンドでインストールを行う。
Debian/Ubuntuの場合
sudo apt-get install speedometer
RHEL系の場合
yum install python-urwid
wget http://excess.org/speedometer/speedometer-2.8.tar.gz
tar -xvzf speedometer-2.8.tar.gz
cp speedometer.py /usr/local/bin/speedometer
chown root: /usr/local/bin/speedometer
chmod 755 /usr/local/bin/speedometer
7.BWtop
BWtopは、各デバイスの送受信トラフィックをぱっと見で確認するシンプルなモニタリングコマンドだ。
以下のコマンドでインストールを行う。
wget https://raw.githubusercontent.com/mahmoudadel2/bwtop/master/bwtop -O /usr/local/bin/bwtop
chmod +x /usr/local/bin/bwtop
8.slurm
slurmは、bmonなどと同様にグラフでネットワークの監視を行うことが出来るコマンドだ。
以下のコマンドでインストールを行う。
sudo apt-get install iptraf slurm # Debian/Ubuntuの場合
sudo yum install slurm # RHEL系の場合
9.tcptrack
Tcptrackはiftopに似たツールで、パケットをキャプチャし各接続に使用される帯域幅など、さまざまな統計情報を計算するためのpcapライブラリを使用しているコマンドだ。
また、特定の接続を監視するために使用できる標準のpcapフィルタをサポートしている。見た目はシンプルなリストとなっている。
以下のコマンドでインストールを行う。
sudo apt-get install iptraf tcptrack # Debian/Ubuntuの場合
sudo yum install tcptrack --enablerepo=epel # RHEL系の場合
10.Vnstat
Vnstatは、デーモンとして起動しトラフィック量を記録。
そして履歴レポートを出力するというコマンドだ。履歴レポートは、「vnstat」コマンドを実行することで行う。
vmstatじゃないよ!
以下のコマンドでインストールを行う。
sudo apt-get install iptraf vnstat # Debian/Ubuntuの場合
sudo yum install vnstat --enablerepo=epel # RHEL系の場合
11.bwm-ng
bwm-ngは、各NICの送受信パケットを一覧で見ることが出来るコマンドだ。
以下のコマンドでインストールが出来る。
sudo apt-get install bwm-ng # Debian/Ubuntuの場合
sudo yum install bwm-ng --enablerepo=epel # RHEL系の場合
12.cbm(Color Bandwidth Meter)
cbmは、bwm-ngによく似たシンプルなモニタリングコマンドだ。
現状、Ubuntuについてはapt-getでインストール可能だ。
以下のコマンドでインストール出来る。
sudo apt-get install cbm # Debian/Ubuntuの場合
13.Pktstat
Pktstatは、現在アクティブな接続かどうか、プロセスのトラフィック中での割合とその接続先、そしてHTTPであればその内容を見ることが出来るコマンドだ。
以下のコマンドでインストール出来る。
$ sudo apt-get install pktstat # Debian/Ubuntuの場合
14.Netwatch
Netwatchは他のホストとの転送速度やその接続先をモニタリング出来る。
以下のコマンドでインストール出来る。
$ sudo apt-get install pktstat # Debian/Ubuntuの場合
15.Trafshow
Trafshowは、Pktstat、Netwatchと同様に利用出来る現在アクティブな接続かどうか、プロトコル、転送速度をモニタリング出来るコマンドだ。
以下のコマンドでインストール出来る。
$ sudo apt-get install netdiag # Debian/Ubuntuの場合
16.ifstat
ifstatは、テキストとして利用帯域を出力してくれるログ化が容易なモニタリングコマンドだ。
以下のコマンドでインストール出来る。
sudo apt-get install ifstat # Debian/Ubuntuの場合
sudo yum install ifstat --enablerepo=epel # RHEL系の場合
17.dstat
dstatは、以前こちらの記事でも記述したvmstatに似たモニタリングコマンドだ。
CPU、メモリやディスクへの書き込みと同時にネットワークの帯域についても確認出来る。
近年のディストリビューションであれば、標準でインストールされている。
18.nmon
nmonは、CPUやメモリ、ディスクへの読み書きなど、監視する項目を選択し表示させることが出来るモニタリングツールだ。
以下のコマンドでインストール出来る。
sudo apt-get install nmon # Debian/Ubuntuの場合
sudo yum install nmon # RHEL系の場合
19.Glances
Glancesは、nmonと同様に一緒にひと目で様々な内容をモニタリング出来るコマンドだ。
以下のコマンドでインストール出来る。
Debina/Ubuntuの場合
sudo apt-get install python-pip build-essential python-dev
sudo pip install Glances
sudo pip install PySensors
RHEL系の場合
sudo yum install glances --enablerepo=epel
20.saidar
nmon、Glancesと同様、saidarもネットワーク含め、様々な内容をモニタリング出来るツールだ。
以下のコマンドでインストールする。
sudo apt-get install saidar # Debian/Ubuntuの場合
sudo yum install statgrab-tools # RHEL系の場合