【Windows】「tracert」コマンドでパケットがどこで止まっているか経路を追跡する手順

【Windows】「tracert」コマンドでパケットがどこで止まっているか経路を追跡する手順
🛡️ 超解決

ネットワーク接続に問題があり、ウェブサイトが開かない、または通信が遅いと感じることはありませんか。

このような状況では、tracertコマンドを使うことで、通信経路のどこで問題が発生しているのかを特定できます。

この記事では、tracertコマンドの基本的な使い方から、結果の読み解き方までを詳しく解説し、ネットワークトラブルの切り分けに役立てる方法を紹介します。

【要点】tracertコマンドでネットワーク経路の問題を特定する

  • tracertコマンドの実行: 宛先までのネットワーク経路をホップごとに表示し、どこで通信が途切れているかを特定します。
  • tracert結果の読み方: 各ホップのIPアドレス、ホスト名、応答時間を確認し、タイムアウトや遅延が発生している箇所を特定します。
  • オプション指定による詳細な経路確認: -d、-h、-wなどのオプションを使い、より詳細な情報を取得したり、特定の条件で経路を追跡したりできます。

ADVERTISEMENT

tracertコマンドの概要とネットワーク経路追跡の重要性

tracertコマンドは、ネットワーク診断ツールの一つであり、パケットがインターネット上の宛先に到達するまでの経路を追跡できます。

このコマンドは、送信元から宛先までの間に存在するルーターやゲートウェイなどのネットワーク機器を「ホップ」として表示し、それぞれの機器への応答時間も計測します。

ネットワーク接続に問題が発生した際、tracertコマンドを使用することで、問題が自分のコンピューター、社内ネットワーク、インターネットサービスプロバイダー、または宛先側のネットワークのどこで発生しているかを切り分けることが可能です。

これにより、トラブルシューティングの方向性を定め、迅速な解決へとつなげられます。

tracertコマンドの基本的な仕組み

tracertコマンドは、ICMP Internet Control Message Protocol というプロトコルを利用して動作します。

具体的には、TTL Time To Live 値を1から順に増やしながら、宛先に向けてパケットを送信します。

TTL値が0になったパケットは、その時点で経由したルーターによって破棄され、送信元に対して「時間切れ」のICMPメッセージが返されます。

tracertコマンドはこのメッセージを利用して、各ホップのIPアドレスと応答時間を特定し、経路情報を表示します。

tracertコマンドでネットワーク経路を追跡する手順

ここでは、Windows 11を基準に、tracertコマンドを使用してネットワーク経路を追跡する具体的な手順を解説します。

Windows 10でも同様の操作で実行できます。

  1. コマンドプロンプトまたはPowerShellを開く
    スタートボタンを右クリックし、表示されるメニューから「ターミナル 管理者」または「Windows PowerShell 管理者」を選択します。ユーザーアカウント制御のダイアログが表示された場合は「はい」をクリックして続行します。
  2. tracertコマンドを実行する
    開いたコマンドプロンプトまたはPowerShellのウィンドウで、以下の形式でtracertコマンドを入力し、Enterキーを押します。
    tracert [IPアドレスまたはホスト名]
    例として、Googleのウェブサイトへの経路を追跡する場合は、tracert google.com と入力します。特定のIPアドレスへの経路を追跡する場合は、tracert 8.8.8.8 のように入力します。
  3. tracertの結果を確認する
    コマンドを実行すると、パケットが宛先に到達するまでの経路がホップごとに表示されます。各ホップには、3つの応答時間ミリ秒単位、IPアドレス、ホスト名が表示されます。
  4. 結果の出力例と読み解き方
    結果は以下のように表示されます。
    トレースルート google.com [142.250.199.110] への最大 30 ホップ
    1 <1 ms <1 ms <1 ms 192.168.1.1
    2 1 ms 1 ms 1 ms xxx.xxx.xxx.xxx
    3 5 ms 5 ms 5 ms yyy.yyy.yyy.yyy
    ...
    10 15 ms 15 ms 15 ms lga25s31-in-f14.1e100.net [142.250.199.110]
    トレースを完了しました。

    「1」が最初のホップ通常は自分のルーター、「2」が次のホップ通常はプロバイダーの機器となり、順に宛先に近づいていきます。
    各行の最初の3つの数値は、それぞれのルーターへの応答時間です。この数値が大きい場合、その経路で遅延が発生している可能性があります。
    「* * *」と表示される場合や「要求がタイムアウトしました」と表示される場合は、そのホップからの応答がないことを意味します。これは、ルーターがICMPパケットに応答しない設定になっているか、またはその経路で通信が途切れている可能性があります。

tracertコマンドのオプションを使用する

tracertコマンドには、詳細な情報を取得するためのいくつかのオプションがあります。

これらのオプションを組み合わせることで、より特定の状況に対応した経路追跡が可能です。

  1. IPアドレスをホスト名に解決しない -d オプション
    tracert -d google.com
    このオプションを使用すると、IPアドレスをホスト名に変換する処理をスキップします。これにより、DNS解決にかかる時間を省き、tracertコマンドの実行を高速化できます。
  2. 最大ホップ数を指定する -h オプション
    tracert -h 10 google.com
    このオプションは、パケットが追跡する最大ホップ数を指定します。デフォルトは30ホップですが、特定のネットワーク範囲内でのみ経路を確認したい場合に役立ちます。
  3. 各応答のタイムアウト時間を指定する -w オプション
    tracert -w 5000 google.com
    このオプションは、各ホップからの応答を待つタイムアウト時間をミリ秒単位で指定します。デフォルトは4000ミリ秒4秒です。応答が遅いネットワーク環境で「要求がタイムアウトしました」と表示されるのを防ぐために、この値を大きく設定できます。
  4. オプションを組み合わせて使用する
    複数のオプションを組み合わせて使用することも可能です。
    tracert -d -h 15 -w 2000 google.com
    このコマンドは、ホスト名解決なしで最大15ホップまで追跡し、各ホップのタイムアウト時間を2000ミリ秒に設定します。

tracert実行時の注意点とよくある失敗パターン

tracertコマンドは強力な診断ツールですが、実行時にいくつかの注意点があります。また、結果の解釈を誤ると、問題解決の方向性を間違えてしまう可能性もあります。

「要求がタイムアウトしました」と表示される場合の対処

tracertの結果で特定のホップが「要求がタイムアウトしました」と表示されることがあります。これは、そのルーターがICMPパケットに応答しない設定になっているか、またはその経路で実際に通信が途切れている可能性を示します。多くの企業やプロバイダーのルーターは、セキュリティ上の理由からICMPに応答しないように設定されています。そのため、タイムアウトが表示されても必ずしも障害とは限りません。重要なのは、タイムアウトの後に経路が継続しているか、それとも完全に途切れているかを確認することです。もし、タイムアウトが連続し、それ以降のホップが表示されない場合は、その箇所で通信が途絶している可能性が高いです。その場合は、インターネットサービスプロバイダーやネットワーク管理者に相談してください。

経路情報が途中で途切れる場合の確認ポイント

tracertの結果が途中で完全に途切れてしまい、宛先まで到達しない場合があります。これは、ファイアウォールやセキュリティ設定によってパケットがブロックされている、または物理的なネットワーク障害が発生している可能性があります。まず、自分のコンピューターのファイアウォール設定を確認し、tracertコマンドがブロックされていないか確認します。次に、同一ネットワーク内の別のコンピューターやデバイスからtracertを実行し、問題が特定のデバイスに限定されるものか、ネットワーク全体の問題かを切り分けます。それでも解決しない場合は、インターネットサービスプロバイダーまたはネットワーク管理者に連絡し、通信経路の確認を依頼してください。

応答時間RRTの異常な増加と注意点

tracertの結果で、特定のホップから応答時間が急激に増加する場合があります。これは、そのネットワーク機器に負荷がかかっている、またはその区間の回線品質が低下している可能性を示します。一時的なネットワーク混雑が原因であることも多いですが、常に高い応答時間が続く場合は、その経路に何らかの問題があると考えられます。応答時間が増加したホップのIPアドレスやホスト名を確認し、それが自分のネットワーク内なのか、プロバイダーのネットワークなのか、あるいはさらに外部のネットワークなのかを特定します。問題が自分のネットワーク外にある場合は、プロバイダーに状況を報告して調査を依頼することが解決への近道です。

ADVERTISEMENT

tracertコマンドとpingコマンドの比較

tracertコマンドとpingコマンドはどちらもネットワーク診断に用いられますが、目的と表示される情報が異なります。

項目 tracertコマンド pingコマンド
目的 宛先までの経路を追跡する 宛先への到達可否と応答時間を測定する
表示内容 各ホップのIPアドレス、ホスト名、応答時間 宛先のIPアドレス、応答時間、TTL、パケットロス率
用途 ネットワーク障害の発生箇所を特定する 基本的なネットワーク接続を確認する
確認できること パケットがどこで止まっているか、どの経路で遅延が発生しているか 宛先への到達性、基本的な通信品質

まとめ

tracertコマンドを使うことで、ネットワークの通信経路を詳細に確認し、問題が発生している箇所を特定できます。

基本的なコマンドの実行から、-dや-wといったオプションの活用まで、この記事で解説した手順を参考にしてください。

応答時間の遅延やタイムアウトの表示を適切に解釈し、ネットワークトラブルの迅速な解決に役立てましょう。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。