pingコマンドを繰り返し実行させてネットワーク速度などを測定する【Windows 10/11】:Tech TIPS
pingコマンドを利用すると、IP的に到達可能であるかどうかを調査できる。pingコマンドはデフォルトでは4回だけパケットを送信する。さらに繰り返し実行したり、パケットのデータサイズを拡大したりする方法や、pingコマンドを使って遅延時間などを計測する際の注意点などを紹介する。
対象OS:Windows 10/Windows 11、Windows Server 2012/Windows Server 2012 R2/Windows Server 2016/Windows Server 2019/Windows Server 2022
4回じゃ足りない!? pingコマンドをもっと繰り返し実行させたい
「pingコマンド」は、TCP/IPネットワークにおける基本的なトラブルシューティングツールであり、さまざまな場面で利用できる(pingコマンドを使ったトラブルシューティングについては、Tech TIPS「Windowsの『ping』コマンドでネットワークトラブルの原因を調査する」参照のこと)。一番簡単な使い方は、単に宛先(IPアドレスやホスト名、FQDNなど)を指定して実行するだけだ。
Windows OS付属のpingコマンドは、指定された宛先に対して、デフォルトでは4回だけICMPパケットを送信し、その応答の状態(正しく戻ってきた場合はその応答時間、エラーの場合は受け取ったエラーメッセージ)を表示する。
ただ、4回しかパケットを送信しないため、時間にしてわずか4秒程度(1秒ごとに1パケットずつ送信する)で実行が終了する。
しかし場合によっては、ネットワークの調子を調べるために、5回以上実行し続けたい場合もあるだろう。例えばインターネットやVPN、WANアクセス回線の調子が不安定であり、その調子(どの程度遅延があるか、どの程度パケットが消失するかなど)を調べるには、ある程度の期間、継続的にpingを実行する必要がある。
このような場合は、オプションを指定することによって、ICMPパケットの送信を何度も繰り返して実行できる。
pingコマンドを繰り返し実行する際の注意
一般のインターネット上のホストに対して、pingを短時間に大量に送信し続けると、pingを使った攻撃であるという判定が行われ、宛先によっては送信元のIPアドレスからのアクセスが遮断されてしまうことがあるので注意したい。自分が管理しているWebサーバなどの死活監視や、ネットワークトラブル解消のための少ない回数での実行に留めておいた方がよい。
繰り返す回数を指定してpingコマンドを実行するには(「-n」オプション)
pingコマンドでICMPパケットを送信する回数を指定するには、「-n」オプションを使用する。<n>回送信したければ次のようにする。
ping -n <n> <IPアドレスまたはホスト名>
「-n」オプションを指定しないと、デフォルトでは4回だけ実行することになっている。逆に4回という回数が多すぎるなら、例えば「ping -n 1」とすれば、1回だけ実行できる。
【応用】「-n」オプションでネットワークの遅延時間の計測精度を高めるには
Tech TIPS「pingでネットワークの速度を調査する」のような方法でネットワークの「遅延時間」をpingでなるべく正確に測定するには、1回目のpingに注意する必要がある。
初回のpingではARPプロトコルなどがやりとりされる。具体的にはARPによる名前解決(MACアドレスとIPアドレスの対応付け)が実行されるため、その分の遅延が少し入ることがある(基礎から学ぶWindowsネットワーク「MACアドレスを解決するARPプロトコル」参照のこと)。またホスト名からIPアドレスへの名前解決でも遅延が生じることがある。
こうした遅延を測定結果に含めたくない場合は、まずダミーで1回だけpingを実行して名前解決を済ませてから、あらためて時間測定用のpingコマンドを実行すると、測定時間が比較的正確になる。
pingコマンドの「-n」オプションを使ってネットワークの遅延時間の計測精度を高める
名前解決のオーバーヘッドを少なくするため、「-n 1」オプションを付けて、pingを1回実行し、名前解決を実行しておく。その次に計測のためのpingを10回繰り返している。
ダミーのpingは1回あれば十分なので、「-n」オプションを使って「ping -n 1」として実行するとよい。計測用の方は「ping -n 10」とすれば10回繰り返し実行される。
pingの実行をずっと繰り返すには(「-t」オプション)
回線の状態を定常的に観察するためには、pingをずっと実行し続けるという方法も考えられる。そのような場合は、「-t」オプションを利用するとよい。
このオプションを指定すると、ユーザーが[Ctrl]+[C]キーで強制的に終了させない限り、ずっと実行し続ける。また[Ctrl]+[Break]キーを押すと、いったん統計情報を表示後、pingの実行を再開する。
Copyright© Digital Advantage Corp. All Rights Reserved.