Windowsでネットワークの疎通や経路を確認するならpathping

MiniTool_ad

Windowsでネットワークの疎通や経路を確認するならpathping

Windows環境に限りませんが、ネットワークでトラブルが発生したときに、まず試すコマンドといえば、疎通を確認する「ping」コマンドや、経路を確認する「tracert(traceroute)」コマンドですが、Windowsでは、疎通や経路の状況を一気に確認してくれる便利なコマンドがあるのをご存知でしょうか。

それが「pathping」コマンドです。pathpingコマンドでは、疎通や経路の状況を一気に確認してくれるとても便利なコマンドです。

ここでは、pathpingコマンド利用方法と表示内容について紹介します。

ネットワークのトラブルシューティングに役立つPowerShellコマンドレット
ここでは、Windows 10でネットワークの状況チェックをする際に役立つPowerShellコマンドレットを紹介します。

動作環境

この記事は、以下の環境での動作結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit1809

pathpingコマンドの使い方

pathpingコマンドの基本的な使い方は「コマンドプロンプト」か「Windows PowerShell」を起動して、オプションを指定せずに宛先だけ指定して実行します。

ここでは「-n」オプションを付けて、名前解決しないようにして実行します。

PS> pathping -n 210.XXX.XXX.XXX

コマンドを実行してしばらくすると、以下のように経路上のルーター一覧と、経路の状況が表示されます。

210.XXX.XXX.XXX へのルートをトレースしています。経由するホップ数は最大 30 です

  0  192.168.XXX.XXX
  1  192.168.XXX.XXX
  2  192.168.XXX.XXX
  3  211.XXX.XXX.XXX
  4  211.XXX.XXX.XXX
  5  118.XXX.XXX.XXX
  6  153.XXX.XXX.XXX
  7  60.XXX.XXX.XXX
  8  60.XXX.XXX.XXX
  9  118.XXX.XXX.XXX
 10  210.XXX.XXX.XXX

統計を 250 秒間計算しています...
            ソースからここまで   このノード/リンク
ホップ  RTT    損失/送信 = Pct  損失/送信 = Pct  アドレス
  0                                           192.168.XXX.XXX
                                0/ 100 =  0%   |
  1    2ms     0/ 100 =  0%     0/ 100 =  0%  192.168.XXX.XXX
                                0/ 100 =  0%   |
  2    2ms     0/ 100 =  0%     0/ 100 =  0%  192.168.XXX.XXX
                                0/ 100 =  0%   |
  3    3ms     0/ 100 =  0%     0/ 100 =  0%  211.XXX.XXX.XXX
                                0/ 100 =  0%   |
  4    5ms     0/ 100 =  0%     0/ 100 =  0%  211.XXX.XXX.XXX
                                0/ 100 =  0%   |
  5    7ms     0/ 100 =  0%     0/ 100 =  0%  118.XXX.XXX.XXX
                                0/ 100 =  0%   |
  6    8ms     0/ 100 =  0%     0/ 100 =  0%  153.XXX.XXX.XXX
                                0/ 100 =  0%   |
  7    7ms     0/ 100 =  0%     0/ 100 =  0%  60.XXX.XXX.XXX
                                0/ 100 =  0%   |
  8    6ms     0/ 100 =  0%     0/ 100 =  0%  60.XXX.XXX.XXX
                                0/ 100 =  0%   |
  9    7ms     0/ 100 =  0%     0/ 100 =  0%  118.XXX.XXX.XXX
                                1/ 100 =  1%   |
 10    6ms     1/ 100 =  1%     0/ 100 =  0%  210.XXX.XXX.XXX

トレースを完了しました。

結果画面の見方

結果画面は、大きく2つのパートに分かれており、前半部分には、宛先までの経路上にあるルーターのIPアドレス一覧が表示されます。

210.XXX.XXX.XXX へのルートをトレースしています。経由するホップ数は最大 30 です

  0  192.168.XXX.XXX …自分のマシン
  1  192.168.XXX.XXX
  2  192.168.XXX.XXX
  3  211.XXX.XXX.XXX
  4  211.XXX.XXX.XXX
  5  118.XXX.XXX.XXX
  6  153.XXX.XXX.XXX
  7  60.XXX.XXX.XXX
  8  60.XXX.XXX.XXX
  9  118.XXX.XXX.XXX
 10  210.XXX.XXX.XXX …宛先のマシン

上の結果では、宛先に到達するまでの間に9台のルーターが存在していることが分かります。

後半部分には、経路上のルーターごとの応答時間(RTT)やパケットの損失率、ルーター間のパケット損失率といった統計情報が表示されます。

統計を 250 秒間計算しています...
            ソースからここまで   このノード/リンク
ホップ  RTT    損失/送信 = Pct  損失/送信 = Pct  アドレス
  0                                           192.168.XXX.XXX
                                0/ 100 =  0%   |
  1    2ms     0/ 100 =  0%     0/ 100 =  0%  192.168.XXX.XXX
                                0/ 100 =  0%   |
  2    2ms     0/ 100 =  0%     0/ 100 =  0%  192.168.XXX.XXX
                                0/ 100 =  0%   |
  3    3ms     0/ 100 =  0%     0/ 100 =  0%  211.XXX.XXX.XXX
                                0/ 100 =  0%   |
  4    5ms     0/ 100 =  0%     0/ 100 =  0%  211.XXX.XXX.XXX
                                0/ 100 =  0%   |
  5    7ms     0/ 100 =  0%     0/ 100 =  0%  118.XXX.XXX.XXX
                                0/ 100 =  0%   |
  6    8ms     0/ 100 =  0%     0/ 100 =  0%  153.XXX.XXX.XXX
                                0/ 100 =  0%   |
  7    7ms     0/ 100 =  0%     0/ 100 =  0%  60.XXX.XXX.XXX
                                0/ 100 =  0%   |
  8    6ms     0/ 100 =  0%     0/ 100 =  0%  60.XXX.XXX.XXX
                                0/ 100 =  0%   |
  9    7ms     0/ 100 =  0%     0/ 100 =  0%  118.XXX.XXX.XXX
                                1/ 100 =  1%   |
 10    6ms     1/ 100 =  1%     0/ 100 =  0%  210.XXX.XXX.XXX

トレースを完了しました。

上の結果では、9番目のルーターと最終的な宛先の間で若干のパケットの損失を確認できますが、最終的な宛先に対する応答時間(RTT)は6msのため、特に問題ないと判断できます。

ちなみに、経路上のルーターに対するpingなどは、遅延が大きくなったり損失が発生することがありますが、最終的な宛先との通信には影響しない場合がほとんどです。

最終的な宛先の応答時間が大きい場合や、ルーター間の損失率が大きい場合は、ネットワークの混雑が予想されます。 

なお、デフォルト設定では、経路上の各ルーターに対してICMPのEchoパケットを0.25秒間隔で100パケット送信し、応答時間(RTT)やパケットの損失率を算出するため、ルーターごとに25秒(0.25秒間隔×100パケット分)必要となり、上の例では結果が表示されるまでに250秒(25秒×10台分)かかりますが、コマンドにオプションを指定することで、送信間隔や送信パケット数は変更することができます。

利用可能なオプションの確認方法

pathpingコマンドの詳しい使い方は、オプションなしで実行することで利用可能なオプションなどを確認することができます。

PS> pathping

使用法: pathping [-g host-list] [-h maximum_hops] [-i address] [-n]
                 [-p period] [-q num_queries] [-w timeout]
                 [-4] [-6] target_name

オプション:
    -g host-list       host-list で指定された緩やかなソース ルートを使用します。
    -h maximum_hops    ターゲットを検索するときの最大ホップ数です。
    -i address         指定された送信元アドレスを使用します。
    -n                 アドレスをホスト名に解決しません。
    -p period          次の ping まで period ミリ秒待ちます。
    -q num_queries     ホップごとのクエリ数です。
    -w timeout         timeout ミリ秒間、応答を待ちます。
    -4                 IPv4 の使用を強制します。
    -6                 IPv6 の使用を強制します。

あとがき

Windows環境でネットワーク経路のトラブルシューティングをするなら、まずは「pathping」コマンドを実行することで、おおよその状況は確認できます。

ご活用あれ。