hana_shinのLinux技術ブログ読者になるhana_shinのLinux技術ブログLinuxの技術情報を掲載しています。ネットワークをメインに掲載していきます。iftopコマンドとは?iftopコマンドは、帯域を測定するツールです。TCPコネクション単位で帯域を確認することができます。ここでは、iperf3コマンドを使ってiftopの動作確認をしてみます。hana_shinのLinux技術ブログを参照ください。ネットワーク構成サーバとクライアントの2台構成です。図中のeth0はNICの名前です。版数CentOS版数は、サーバ、クライアントともに下記版数です。(Core)カーネル版数は以下のとおりです。インストール方法iftopパッケージはepelリポジトリにあるので、まず、epel-releaseパッケージをインストールします。epel-releaseクライアントにiftopパッケージをインストールします。iftopiftopコマンドの版数を確認します。事前準備サーバでポート番号を開放します。iperf3は,TCP/UDPの5201番ポートを使うので、5201番ポートへのアクセスを許可しておきます。TCPの5201番ポートを開放します。hana_shinのLinux技術ブログを参照してください。--add-port=5201/tcpsuccessポートの状態を確認します。TCPの5201番ポートが開放されたことがわかります。--list-ports5201/tcp次に、UDPの5201番ポートを開放します。--add-port=5201/udpsuccessポートの状態を確認します。UDPの5201番ポートが開放されたことがわかります。オプション一覧オプションは以下のとおりです。基本的な使い方iperf3コマンドを使って、クライアントからサーバに10(Mbit/s)、30(Mbit/s)でパケットを送信してみます。このとき、iftopコマンドでクライアント/サーバ間の帯域を確認してみます。10(Mbit/s)の場合サーバでiperf3コマンドを実行します。-s-----------------------------------------------------------Serverlisteningon5201-----------------------------------------------------------クライアントでiperf3を実行します。テスト時間は600秒、帯域は10(Mbit/s)を指定します。10Mクライアントでターミナルをもう1つ開き、iftopコマンドを実行します。直近2秒の帯域は、クライアントからサーバは9.52Mb(★)、サーバからクライアンは7.72Kb(●)であることがわかります。30(Mbit/s)の場合サーバでiperf3コマンドを実行します。-s-----------------------------------------------------------Serverlisteningon5201-----------------------------------------------------------クライアントでiperf3を実行します。テスト時間は600秒、帯域は30(Mbit/s)を指定します。30Mクライアントでターミナルをもう1つ開き、iftopコマンドを実行します。直近2秒の帯域は、クライアントからサーバは28.5Mb(★)、サーバからクライアンは15.8Kb(●)であることがわかります。ホスト名をIPアドレスで表示する方法(-n)-nは、ホスト名をIPアドレスで表示するオプションです。サーバでiperf3コマンドを実行します。-s-----------------------------------------------------------Serverlisteningon5201-----------------------------------------------------------クライアントでiperf3を実行します。テスト時間は600秒、帯域は10(Mbit/s)を指定します。10Mクライアントでターミナルをもう1つ開き、iftopコマンドを実行します。ホスト名(server,client)ではなくIPアドレスが表示されていることがわかります。ポート番号を表示する方法(-P)-Pは、ポート番号を表示するオプションです。サーバでiperf3コマンドを実行します。-s-----------------------------------------------------------Serverlisteningon5201-----------------------------------------------------------クライアントでiperf3を実行します。テスト時間は600秒、帯域は10(Mbit/s)を指定します。10Mクライアントでターミナルをもう1つ開き、iftopコマンドを実行します。ポート番号(54122)、サービス名(targus-getdata1)が表示されていることがわかります。サービス名は/etc/servicesで定義されていて、5201番であることがわかります。実行時間を指定する方法(-s)-sは、iftopコマンドを実行する時間(秒)を指定するオプションです。指定した時間が経過すると、iftopコマンドが終了します。今までと同じようにiperf3を実行します。今回はiperf3実行の様子は記載省略します。このとき、-sに10秒を指定してiftopコマンドを実行してみます。20:49:57に開始して20:50:07に終了していることがわかります。codeを使うと、特定の通信の帯域だけを表示することができます。ポート番号やIPアドレスを指定することで、特定の通信だけに絞り込むことが可能です。port)サーバでiperf3コマンドを実行します。-s-----------------------------------------------------------Serverlisteningon5201-----------------------------------------------------------クライアントでiperf3を実行します。テスト時間は600秒、帯域は10(Mbit/s)を指定します。10Mクライアントでターミナルをもう1つ開きます。5201"と指定してクライアントからサーバに向けての通信に絞り込んでみます。クライアントからサーバへの通信の帯域は約9.0Mbであることがわかります。サーバからクライアントへの通信の帯域は0であることがわかります。17.9MB============================================================================================-snip-今度は、サーバからクライアントに向けての通信に絞り込んでみます。5201"と指定してサーバからクライアントに向けての通信に絞り込んでみます。クライアントからサーバへの通信の帯域は0であることがわかります。サーバからクライアントへの通信の帯域は約7Kbであることがわかります。この帯域は、サーバからクライアントに送信されるTCPのACKによるものです。host)考え方はポート番号の時と同じですので、詳細の説明は割愛します。送信先Pアドレスが192.168.2.10の通信を絞り込んでみます。10.7MB============================================================================================今度は、送信元IPアドレスが192.168.2.10の通信を絞り込んでみます。私が業務や記事執筆で参考にした書籍を以下のページに記載します。)はてなブログをはじめよう!hana_shinさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。