Linuxのネットワーク診断ツールMTR

MTRは、一般的に使用されるtraceroutepingプログラムの機能を1つのツールに統合した、シンプルでクロスプラットフォームのコマンドラインネットワーク診断ツールです。tracerouteと同様に、mtrは、mtrが実行されているホストからユーザーが指定した宛先ホストまでのパケットの経路に関する情報を表示します。

関連記事: Linuxでネットワークパフォーマンス、セキュリティの監査およびトラブルシューティングを行う方法

ただし、mtrtracerouteよりも多くの情報を表示します:ローカルシステムとリモートマシン間のインターネット経路におけるすべてのネットワークホップの応答パーセンテージおよび応答時間を表示します。

MTRの動作原理は?

mtrを実行すると、指定したローカルシステムとリモートホストのネットワーク接続を調査します。まず、ホスト間の各ネットワークホップ(ブリッジ、ルーター、ゲートウェイなど)のアドレスを確立し、それぞれにping(各マシンへのリンクの品質を判断するためにICMP ECHOリクエストのシーケンスを送信)します。

この操作中、mtrは、各マシンに関するいくつかの有用な統計情報をリアルタイムで出力します(デフォルトでは)。

このツールは、ほとんどのLinuxディストリビューションに事前インストールされており、Linuxでのネットワーク診断のための10 mtrコマンドの例を説明した後、かなり使いやすくなります。

mtrがインストールされていない場合は、デフォルトのパッケージマネージャーを使用して、それを各Linuxディストリビューションにインストールできます。

$ sudo apt install mtr
$ sudo yum install mtr
$ sudo dnf install mtr

10 MTRネットワーク診断ツールの使用例

1. mtrを使用する最も簡単な例は、リモートマシンのドメイン名またはIPアドレスを引数として指定することです。たとえば、google.comまたは216.58.223.78。このコマンドは、プログラムを終了するまで(qまたはCtrl + Cを押して)リアルタイムで更新されたトレースルートレポートを表示します。

$ mtr google.com
OR
$ mtr 216.58.223.78

Start: Thu Jun 28 12:10:13 2018
HOST: TecMint                     Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.168.0.1                0.0%     5    0.3   0.3   0.3   0.4   0.0
  2.|-- 5.5.5.211                  0.0%     5    0.7   0.9   0.7   1.3   0.0
  3.|-- 209.snat-111-91-120.hns.n 80.0%     5    7.1   7.1   7.1   7.1   0.0
  4.|-- 72.14.194.226              0.0%     5    1.9   2.9   1.9   4.4   1.1
  5.|-- 108.170.248.161            0.0%     5    2.9   3.5   2.0   4.3   0.7
  6.|-- 216.239.62.237             0.0%     5    3.0   6.2   2.9  18.3   6.7
  7.|-- bom05s12-in-f14.1e100.net  0.0%     5    2.1   2.4   2.0   3.8   0.5

2. FQDNs(通常はFully Qualified Domain Names)の代わりに数値IPアドレスを表示するようにmtrに強制するには、-nフラグを使用します。

$ mtr -n google.com

Start: Thu Jun 28 12:12:58 2018
HOST: TecMint                     Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.168.0.1                0.0%     5    0.3   0.3   0.3   0.4   0.0
  2.|-- 5.5.5.211                  0.0%     5    0.9   0.9   0.8   1.1   0.0
  3.|-- ???                       100.0     5    0.0   0.0   0.0   0.0   0.0
  4.|-- 72.14.194.226              0.0%     5    2.0   2.0   1.9   2.0   0.0
  5.|-- 108.170.248.161            0.0%     5    2.3   2.3   2.2   2.4   0.0
  6.|-- 216.239.62.237             0.0%     5    3.0   3.2   3.0   3.3   0.0
  7.|-- 172.217.160.174            0.0%     5    3.7   3.6   2.0   5.3   1.4

3. mtrにホスト名と数値IP番号の両方を表示させたい場合は、-bフラグを使用します。

$ mtr -b google.com

Start: Thu Jun 28 12:14:36 2018
HOST: TecMint                     Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.168.0.1                0.0%     5    0.3   0.3   0.3   0.4   0.0
  2.|-- 5.5.5.211                  0.0%     5    0.7   0.8   0.6   1.0   0.0
  3.|-- 209.snat-111-91-120.hns.n  0.0%     5    1.4   1.6   1.3   2.1   0.0
  4.|-- 72.14.194.226              0.0%     5    1.8   2.1   1.8   2.6   0.0
  5.|-- 108.170.248.209            0.0%     5    2.0   1.9   1.8   2.0   0.0
  6.|-- 216.239.56.115             0.0%     5    2.4   2.7   2.4   2.9   0.0
  7.|-- bom07s15-in-f14.1e100.net  0.0%     5    3.7   2.2   1.7   3.7   0.9

4. 特定の値にpingsの数を制限し、それらのpingを行った後にmtrを終了させるには、-cフラグを使用します。 Snt列からわかるように、指定されたping数に達すると、ライブアップデートが停止し、プログラムが終了します。

$ mtr -c5 google.com

5. -r フラグを使用してレポートモードに設定できます。これはネットワーク品質に関する統計を生成するための便利なオプションです。このオプションは、-c オプションと一緒に使用して、ping の回数を指定することができます。統計情報は std 出力に印刷されるため、後で分析するためにファイルにリダイレクトすることができます。

$ mtr -r -c 5 google.com >mtr-report

-w フラグは、より明確な出力のためのワイドレポートモードを有効にします。

$ mtr -rw -c 5 google.com >mtr-report

6. 希望通りに出力フィールドを再配置することもできます。これは、-o フラグによって可能になります(フィールドラベルの意味については mtr マニュアルページを参照してください)。

$ mtr -o "LSDR NBAW JMXI" 216.58.223.78
MTR Fields and Order

7. ICMP ECHO リクエスト間のデフォルトの間隔は 1 秒ですが、-i フラグを使用して値を変更することで ICMP ECHO リクエスト間の間隔を指定することができます。

$ mtr -i 2 google.com

8. デフォルトの ICMP ECHO リクエストの代わりに TCP SYN パケットまたは UDP データグラムを使用することができます。

$ mtr --tcp test.com
OR
$ mtr --udp test.com 

9. ローカルシステムとリモートマシン間でプローブされる ホップ の最大数(デフォルトは 30)を指定するには、-m フラグを使用します。

$ mtr -m 35 216.58.223.78

10. ネットワーク品質を調査する際に、-s フラグを使用してバイト単位で使用されるパケットサイズを設定できます。

$ mtr -r -s PACKETSIZE -c 5 google.com >mtr-report

これらの例を参考にして、mtr を使用する準備が整います。より多くの使用オプションについてはマニュアルページを参照してください。

$ man mtr 

また、Linux ネットワーク構成とトラブルシューティングに関するこれらの便利なガイドもチェックしてください。

  1. 13 Linuxネットワーク構成およびトラブルシューティングコマンド
  2. LinuxシステムへのPing ICMPリクエストのブロック方法

これで以上です!MTRはシンプルで使いやすく、何よりもクロスプラットフォームのネットワーク診断ツールです。このガイドでは、Linuxでの10 mtrコマンドの例を説明しました。質問やご意見がある場合は、以下のコメントフォームをご利用ください。

Source:
https://www.tecmint.com/mtr-a-network-diagnostic-tool-for-linux/