ネットワーク診断コマンドでインターネット接続の問題を突き止める方法

以下の順番で確認していけば、たいていの場合は問題がどこにあるかを突き止められます。

  1. まず自分のIPアドレスを確認する(ipconfig / ifconfig)

    Windowsではコマンドプロンプトでipconfig、MacやLinuxではターミナルでifconfig(またはip a)を実行すると、自分の機器のIPアドレス、サブネットマスク、デフォルトゲートウェイを確認できます。IPアドレスが169.254から始まっている場合、ルーターから正常にIPアドレスを受け取れていないサイン(APIPA自動プライベートアドレス)なので、まず接続自体を確認する必要があります。

  2. ルーター(ゲートウェイ)まで届いているかpingで確認する

    先ほど確認したデフォルトゲートウェイのアドレスに対してping [ゲートウェイIP]を実行します。正常に応答が返ってくれば自分の機器とルーターの間の接続に問題はなく、応答がなければ有線・無線接続かルーター自体に問題がある可能性が高いです。

  3. 外部のインターネット接続を確認する(例:ping 8.8.8.8)

    公開されているDNSサーバーなど外部のIPアドレスにpingを送り、インターネット自体に接続できているかを確認します。公人IPへのpingは成功するのにドメイン名(例:ping example.com)では失敗する場合、問題の範囲がDNS側に絞り込まれます。

  4. どこで途切れているか経路を追跡する(tracert / traceroute)

    Windowsではtracert [アドレス]、MacやLinuxではtraceroute [アドレス]を実行すると、目的地まで経由する各区間(ホップ)とその応答時間を順番に表示してくれます。特定の区間で応答時間が急に大きくなったり応答が途切れたりする場合、その区間で遅延や障害が発生している手がかりになります。

  5. ドメイン名の名前解決を確認する(nslookup)

    nslookup [ドメイン名]を実行すると、そのドメインがどのIPアドレスに解決されるか、どのDNSサーバーが応答したかを確認できます。特定のサイトだけ接続できず、この結果が異常に見える場合は、DNSサーバーの設定を変えてみるのも1つの方法です。

  6. 現在の接続状態の一覧を確認する(netstat)

    netstat -anを実行すると、現在自分の機器が確立しているネットワーク接続と開いているポートの一覧を確認できます。普段より明らかに多い接続数や見慣れないプログラムの接続が見られる場合、セキュリティの点検が必要なサインかもしれません。

結果は単独ではなく、一連の流れとして読む

この手順の本当の価値は、どれか1つのコマンド単体ではなく、結果同士がどうつながっているかにあります。ゲートウェイへのpingは成功するのに外部へのpingが失敗するなら、家庭内ネットワークよりも通信事業者側の回線を疑うべきです。外部pingは成功するのにドメイン名へのpingだけ失敗するなら、問題はDNSに絞り込まれます。それぞれのステップは、次のステップで疑うべき範囲を絞り込むためにあります。

さらに踏み込んだツールに切り替えるタイミング

これらのコマンドは、問題を自分の機器・ルーター・通信事業者の回線・DNSといったおおまかな領域まで絞り込むには十分ですが、なぜそうなっているのかまでは必ずしも教えてくれません。tracertで特定の区間が遅いと分かったら、そのステップだけを深掘りするか、パケットキャプチャで詳しく調べるのが、ping結果だけで推測を続けるより自然な次の一手です。

よくある質問

コマンドを入力しても何も表示されません。

Windowsではスタートメニューから「コマンドプロンプト」を、Macでは「ターミナル」アプリを開いて入力する必要があります。ファイアウォールやセキュリティソフトがping応答自体をブロックしていることもあるため、特定のサイトだけ応答がない場合、そのサイト側の設定が原因のこともあります。

すべての手順を必ず試す必要がありますか?

いいえ。順番に進めていき、問題が起きている段階を見つけたら、そこで原因を絞り込めば十分です。例えばゲートウェイへのpingは成功するのに外部へのpingが失敗する場合、それ以降の手順よりも先にインターネット回線自体を点検するほうが効率的です。