診断

mtrコマンド入門|ネットワーク経路を継続的に診断する

ネットワーク mtr 経路診断

mtrコマンド入門
ネットワーク経路を継続的に診断する

mtr(My Traceroute)はtracerouteとpingを組み合わせた高機能ネットワーク診断ツールです。各ホップのレイテンシやパケットロス率をリアルタイムで継続的に測定できます。

こんな人向けの記事です

  • ネットワーク経路の問題を継続的に監視したい人
  • tracerouteより詳細な情報が欲しい人
  • ISPに問題報告する際のエビデンスを取得したい人

Step 1mtrとは・インストール

mtrはtracerouteのように経路を表示しながら、pingのように継続的に統計情報を収集するツールです。問題箇所を正確に特定するのに非常に有効です。

ターミナル
# Debian/Ubuntu系
sudo apt-get install mtr

# RHEL/CentOS/Fedora系
sudo yum install mtr

# macOS(Homebrew)
brew install mtr

# Arch Linux
sudo pacman -S mtr

ポイント: Windowsでは WinMTR というGUI版が利用可能です。WSL内でLinux版のmtrをインストールすることもできます。

Step 2基本的な使い方

ターミナル
# 基本的な実行(リアルタイム表示)
mtr www.google.com

# 数値形式で表示(名前解決なし)
mtr -n www.google.com

# レポートモード(10回測定して結果を表示)
mtr -r -c 10 www.google.com

リアルタイム表示の例:

ターミナル
                        My traceroute  [v0.95]
Host:                                 Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. _gateway (192.168.1.1)             0.0%    50    1.2   1.5   0.8   3.2   0.4
 2. isp-router1 (10.0.0.1)             0.0%    50   10.5  11.2   9.8  15.3   1.1
 3. isp-core (172.16.0.1)              0.0%    50   12.3  13.1  11.5  18.7   1.5
 4. peer-exchange (203.0.113.1)         2.0%    50   15.8  16.5  14.2  25.3   2.3
 5. google-edge (142.250.0.1)           0.0%    50   14.5  15.2  13.8  20.1   1.2

Step 3結果の読み方

意味判断基準
Loss%パケットロス率0%が理想。5%以上で問題の可能性
Snt送信パケット数多いほど統計が正確
Last直近のRTT(ms)参考値
Avg平均RTT(ms)最も重要な指標
Best最小RTT(ms)理想的な応答時間
Wrst最大RTT(ms)Avgとの差が大きいとジッターが問題
StDev標準偏差値が大きいほど不安定

注意: 中間ホップでパケットロスがあっても、最終目的地でロスがなければ問題ないことが多いです。中間ルーターはICMP応答を低優先度で処理するためです。

Step 4主なオプション一覧

オプション説明
-r, --reportレポートモード(結果をまとめて表示)
-c [数]送信パケット数を指定(デフォルト10)
-n, --no-dns名前解決を無効化(高速化)
-w, --report-wideホスト名を省略せず表示
-i [秒]パケット送信間隔
-uUDPモード
-TTCPモード
--csvCSV形式で出力
--jsonJSON形式で出力

Step 5レポートモードの活用

ISPへの問題報告用レポート:

ターミナル
# 100回測定のレポートを生成
mtr -r -c 100 -w www.google.com

# JSON形式でファイルに保存
mtr -r -c 100 --json www.google.com > mtr_report.json

# CSV形式でファイルに保存
mtr -r -c 100 --csv www.google.com > mtr_report.csv

TCPモードで特定ポートを指定:

ターミナル
# TCPポート443(HTTPS)で測定
mtr -T -P 443 www.google.com

# TCPポート80(HTTP)で測定
mtr -T -P 80 www.google.com

ポイント: ISPに問題報告する際は、レポートモードで100回以上測定した結果を添付すると効果的です。また、問題発生時と正常時の両方のレポートを比較すると原因特定に役立ちます。

Step 6トラブルシューティング実践

mtrの結果パターン原因の可能性
最初のホップでLoss%が高いローカルネットワーク(Wi-Fi、ルーター)の問題
ISPホップでAvgが急増ISPネットワークの混雑または障害
特定ホップ以降で全てLoss%が高いそのホップのルーターに問題あり
最終ホップのみLoss%が高い目的サーバー側の問題またはICMP制限
StDevが大きいネットワークのジッターが大きい(不安定)
ターミナル
# 双方向の診断(自分→サーバー と サーバー→自分 の両方を確認)
# 自分側から
mtr -r -c 50 target-server.com

# サーバー側から(SSHアクセス可能な場合)
ssh user@target-server.com "mtr -r -c 50 your-ip-address"