2026年7月18日
2026年7月18日
mtr の実行手順|インストールから対話画面の操作、レポート・TCP モードでの測定まで
mtr は、traceroute と ping を組み合わせたように、目的地までの各中継点(ホップ)への応答を繰り返し測り続けるコマンドです。この記事では、OS ごとのインストール方法から、最初の実行、対話画面のキー操作、目的に応じたオプションの選び方、Web サーバー向けの TCP モードまでを、実際に作業する順番で説明します。結果の詳しい読み方ではなく「正しく動かして、使える結果を取る」ところまでが範囲です。
手順1:mtr をインストールする
Linux
多くのディストリビューションでは公式リポジトリから入れられます。
# Debian / Ubuntu(端末用のみ。GUI 付きは mtr パッケージ)
sudo apt update
sudo apt install mtr-tiny
# RHEL / AlmaLinux / Rocky Linux / Fedora
sudo dnf install mtr
Debian 系では、GUI(GTK)版を含む mtr と、端末表示だけの mtr-tiny の2つのパッケージがあります。サーバーでは mtr-tiny で十分です。
macOS
Homebrew で入れられます。
brew install mtr
sudo "$(brew --prefix)/sbin/mtr" example.com
Homebrew 版は sbin に入るため、通常の PATH では見つからないことがあります。また macOS では生のパケットを送るために管理者権限が必要なので、sudo を付けて実行します。
Windows
Windows には mtr が標準では入っていません。同じ考え方で測れる標準コマンドとしては pathping があります。mtr を使いたい場合は、WSL 上の Linux にインストールする方法か、WinMTR などのサードパーティ製ツールを使う方法があります。サードパーティ製ツールは配布元と更新状況を確認してから使ってください。
インストールの確認
mtr --version
バージョンが表示されれば準備完了です。主要ディストリビューションでは 0.9 系が配布されています(2026年10月現在)。この後で紹介するオプションの一部はバージョンによって使えない場合があるため、困ったら mtr --help で手元の版の対応状況を確認します。
手順2:まず対話モードで動かす
mtr example.com
実行すると画面が切り替わり、ホップごとの行が並んで、数値が1秒ごとに更新されていきます。Linux では通常、一般ユーザーでも実行できます(パケット送信は mtr-packet という補助プログラムが特権を持って担当する構成のため)。権限エラーが出る場合は sudo を付けて試してください。
GUI 版が入っている環境で画面表示が使えると、ウィンドウが開くことがあります。端末内で表示したい場合は -t(--curses)を付けます。
対話画面のキー操作
測定中は次のキーが使えます(割り当てはバージョンによって多少異なり、h でヘルプを表示できます)。
q: 終了p: 一時停止(スペースキーで再開)r: 統計をリセットして測り直すn: 名前解決(逆引き)の表示を切り替えるd: 表示モードを切り替える(数値の表から、遅延を記号で描くグラフ風の表示へ)o: 表示する列や並び順を変更する
どれくらい眺めればよいか
起動直後の数回分は値が安定しません。ロス率(Loss%)を判断材料にするなら、少なくとも数十回、できれば 100 回程度は測定してから見ます。症状が断続的なら、発生しやすい時間帯に合わせて実行します。
手順3:レポートモードで結果を残す
調査依頼や記録に使うなら、対話画面よりもレポートモードが向いています。
mtr -r -w -c 100 example.com
-r(--report): 指定回数を測り終えてから、結果を一度だけ表示します。-w(--report-wide): ホスト名を途中で切らずに表示します。-c 100(--report-cycles): 各ホップへの測定回数です。
送信間隔は既定で1秒なので、100 回なら 100 秒ほど何も表示されずに待つことになります。止まったと思って中断しないようにしてください。結果をファイルに保存する方法や定期記録の方法は、関連記事「mtr の結果をログに保存する手順」で扱っています。
手順4:目的に応じてオプションを選ぶ
よく使うオプションを目的別にまとめます。
- **名前解決を止める(
-n)**: 逆引きに時間がかかると表示が遅れます。IP アドレスだけで十分なときに使います。 - **IP とホスト名を両方出す(
-b)**: 報告用にどちらも残したいときに使います。 - **IPv4 / IPv6 を指定する(
-4/-6)**: 宛先が両方に対応していると、どちらで測ったか分からなくなります。問題が片方だけで起きている可能性があるときは、両方で測って比べます。 - **送信間隔を変える(
-i 秒)**: 1秒未満にするには root 権限が必要です。間隔を短くすると相手先への負荷が増えるため、自分の管理外の宛先には既定のままが無難です。 - **パケットサイズを変える(
-s バイト数)**: 大きなパケットだけが落ちる症状を調べるときに使います。 - **最大ホップ数(
-m 数)**: 既定は 30 です。経路が長い場合に増やします。 - **AS 番号を表示する(
-z)**: どの事業者のネットワークを通っているかを見たいときに使います。
手順5:Web サーバーへの経路は TCP モードでも測る
mtr は既定では ICMP を使います。途中のルーターや宛先のファイアウォールが ICMP を絞っていると、実際の通信は問題なくても、ロスや応答なしが表示されることがあります。Web サイトの表示不良を調べるときは、実際の通信と同じ TCP で測ると判断しやすくなります。
sudo mtr -T -P 443 -r -w -c 100 example.com
-T(--tcp)で TCP SYN を使い、-P 443(--port)で宛先ポートを指定します。UDP で測りたい場合は -u(--udp)です。ICMP と TCP で結果が大きく違う場合は、ネットワークの途中で ICMP の扱いが特別になっている可能性が高いと考えられます。
実行するときの注意点
- 途中ホップだけのロスは問題とは限らない: 中継ルーターは自分宛ての問い合わせへの応答を後回しにしたり、回数を制限したりします。途中の行にロスがあっても、その先のホップや最終ホップでロスが出ていなければ、通信自体には影響していないことがほとんどです。
- 片方向の測定であることを意識する: mtr が測るのは「自分から相手へ」の経路です。戻りの経路は別のことがあるため、可能なら相手側からも測ってもらいます。
- 他人のネットワークに過度な負荷をかけない: 短い間隔や大量の回数での連続実行は、相手先から攻撃と見なされるおそれがあります。調査に必要な範囲にとどめます。
- クラウドやVPSでは制限がある場合がある: 一部のクラウド環境では ICMP や特定の通信が制限されていることがあります。結果がおかしいときは、提供事業者のドキュメントでネットワークの仕様を確認します。
まとめ
- Linux は
mtr-tiny(Debian 系)やmtr(RHEL 系)、macOS は Homebrew で入れ、sudo付きで実行します。Windows はpathpingか WSL などを使います。 - まず対話モードで動かし、
q・p・r・n・dのキーで操作します。判断には数十〜100 回程度の測定が目安です。 - 記録や報告には
-r -w -c 100のレポートモードを使い、測定中は出力がないことを理解して待ちます。 - Web サーバーへの経路は
-T -P 443の TCP モードでも測り、ICMP の結果と比べます。 - 途中ホップだけのロスで判断せず、最終ホップまで続いているかを確認します。