この記事では、ネットワークトラブルの時に役立つネットワークコマンド「tracert」の使い方を説明します。
「tracert」は「トレースルート」と読みます。
「tracert」を使うと、「tracert」を実行するコンピュータから、通信相手までの経路上にあるルーターを一覧表示することができます。
「tracert」は「ping」に次いで、ネットワークエンジニアが頻繁に使う重要なネットワークコマンドです。
ノンネットワークエンジニアの方も是非覚えておきましょう。
使い方はとても簡単です。
この記事では、Windowsのコマンドプロンプトでネットワークコマンド「tracert」を使います。
コマンドプロンプトの基本操作についてはこちらの記事にまとめていますので、必要な方はご参照下さい。
目次
「tracert」は通信相手までの経路確認ができる
「tracert」を使うと、「tracert」を実行するコンピュータから、通信相手までの経路上にあるルーターを一覧表示することができます。
また、実行結果を見ることによって、通信相手までどの様な経路を通ってたどり着くのかもわかるので、通信トラブルの時には、どこに原因があるかを切り分ける時に役立ちます。
例えば、サーバーにアクセスできない時に「tracert」を使うと、経路上のどのルーターまでつながり、どのルーターからつながらないかがわかります。
「tracert」コマンドの使い方
「tracert」の使い方について説明していきます。
ノンネットワークエンジニアの方は、次の項目だけ読んでおけば十分です。
大抵の場合、これだけで事足ります。
もう少し詳しく知りたい方は、その先を読み進めていって下さい。
よく使う書式
ノンネットワークエンジニアが「tracert」を使うなら、次の書式だけ覚えておきましょう。
tracert [IPアドレスまたはドメイン名]
「IPアドレス」には、経路確認したい機器のIPアドレスを入力します。
IPアドレスではなく、ドメイン名で指定することもできます。
ドメイン名とは、「network-beginners-handbook.com」の様な、IPアドレスの代わりになる名前のことです。
経路確認したい機器のIPアドレスが「192.168.0.1」の場合入力例は次の通りです。
tracert 192.168.0.1
上のコマンドの実行結果を見ることで、「tracert」を実行するコンピュータから、通信相手までの経路上にあるルーターを一覧表示することができます。
実行結果の見方
「tracert」を実行すると、コマンドプロンプトに実行結果が表示されます。
ここでは、ノンネットワークエンジニアの方が見るポイントを説明していきます。
「yahoo.co.jp」へ「tracert」を実行した結果は次の様になります。
- ルーターの番号
コンピュータに近い方が小さい数字になる。 - ルーターの応答時間
3回実行された結果が表示される。 - ルーターのIPアドレスまたはドメイン名
ルーターの応答がないときは「要求がタイムアウトしました」と表示される。
「tracert」を実行すると、実行したコンピュータから「yahoo.co.jp」までの経路上にあるルーターのIPアドレス(またはドメイン名)が、コンピュータから近い方から順に応答時間と一緒に表示されます。
ヘルプで全てのオプションを表示する
「tracert」にはたくさんのオプションが用意されています。
しかし、ノンネットワークエンジニアの方には、これらのオプションは必要ありません。
ここでは、コマンドプロンプトで「tracert」のオプションを一覧表示する方法だけ説明しておきます。
「tracert」のオプションを一覧表示するには、コマンドプロンプトで
tracert /?
と入力します。
実行すると、次の様に全オプションと説明が表示されます。
>tracert /?
使用法: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout]
[-w timeout] [-R] [-S srcaddr] [-4] [-6] target_nameオプション:
-d アドレスをホスト名に解決しません。
-h maximum_hops ターゲットを検索するときの最大ホップ数です。
-j host-list host-list で指定された緩やかなソース ルートを使用します
(IPv4 のみ)。
-w timeout timeout ミリ秒間、応答を待ちます。
-R 往復のパスをトレースします (IPv6 のみ)。
-S srcaddr 使用するソース アドレスです (IPv6 のみ)。
-4 IPv4 の使用を強制します。
-6 IPv6 の使用を強制します。
もしオプション指定が必要になることがあれば「/?」で確認して下さい。
「tracert」のしくみ
「tracert」の機能は、「ping」と同じICMPのエコー要求/応答の仕組みで実現しています。
経路上にあるルーターの順番がわかるのは、パケットの有効期限であるTTLの値を1つずつ大きくしてエコー要求パケットを送信することで、期限切れのパケットを通知してくるルーターを確認しているからです。
次の図で説明します。
「tracert」を実行すると、コンピュータは指定した通信相手を宛先としたエコー要求パケットをTTL=1で送信します。
パケットが「ルーター1」に届くと、TTLは1減らされTTL=0になります。
「ルーター1」はパケットの有効期限切れと判断し、送信元のコンピュータに「時間超過パケット」を送り返します。
TTLを1ずつ増やしながら、宛先からエコー応答パケットが届くまで続けます。
宛先の機器にエコー要求パケットが届いたら、送信元のコンピュータに「エコー応答パケット」を返してきます。
エコー要求パケットを送信してから、「時間超過パケット」や「エコー応答パケット」が届くまでにかかった時間とそのパケットの送信元が結果として表示されます。
「tracert」の注意点
「tracert」の注意点について説明しておきます。
経路に問題が無くてもタイムアウトになることがある
ネットワーク機器によっては、ICMPの機能をオフしている場合があります。
理由は、見知らぬ機器からのエコー要求パケットに対して応答を返すと、セキュリティ上の脅威にさらされる危険性があるからです。
経路上のルーターに「応答しない」設定になった機器があると、結果は「要求がタイムアウトしました」となります。
ただし、応答しないルーター行こうのルーターが応答する場合は、tracertの処理は継続されます。
「tracert」のまとめ
この記事では、ネットワークトラブルの時に役立つネットワークコマンド「tracert」の使い方を説明しました。
「tracert」を使うと、「tracert」を実行するコンピュータから、通信相手までの経路上にあるルーターを一覧表示することができます。
また、実行結果を見ることによって、通信相手までどの様な経路を通ってたどり着くのかもわかるので、通信トラブルの時には、どこに原因があるかを切り分ける時に役立ちます。
ノンネットワークエンジニアは次の書式だけ覚えておきましょう。
tracert [IPアドレスまたはドメイン名]
「tracert」はシンプルでとても役に立つコマンドです。
ノンネットワークエンジニアの方も是非覚えておきましょうね。
通信がうまくいかないときは、「ipconfig」でネットワーク設定情報を確認しましょう。