連載
» 2019年10月04日 05時00分 公開

Tech TIPS:【Windows 10対応】pingコマンドを繰り返し実行させてネットワーク速度などを測定する

pingコマンドを利用すると、IP的に到達可能であるかどうかを調査できる。pingコマンドはデフォルトでは4回だけパケットを送信する。さらに繰り返し実行する方法を紹介する。

[デジタルアドバンテージ,著]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

対象:Windows 7/Windows 8.1/Windows 10/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2/Windows Server 2016


Windowsのpingはデフォルトで4回しかパケットを送信しない Windowsのpingはデフォルトで4回しかパケットを送信しない
これはWindows 10でのpingの実行例。例えばネットワークの遅延やパケットの消失を調べるなら、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する

 pingで送信する回数を指定するには、-nオプションを使用する。例えばn回送信したければ次のようにする。

ping -n n <IPアドレスやホスト名>

pingをn回実行するコマンド

回数を指定してpingするコマンドの実行例 回数を指定してpingするコマンドの実行例
-n <回数>オプションを付けると回数分だけpingが実行される。ここでは「-n 10」として10回実行している。実行結果に大きなばらつきがある場合は、ネットワークの経路に何らかの障害が発生している可能性がある。

 -nオプションを指定しないと、デフォルトでは4回だけ実行することになっている。逆に4回という回数が多すぎるなら、例えば「ping -n 1」とすれば、1回だけ実行できる。

-nオプションを使ってpingでネットワークの遅延時間を測定する

 Tech TIPS「pingでネットワークの速度を調査する」のような方法でネットワークの「遅延時間」をpingでなるべく正確に測定するには、1回目のpingに注意する必要がある。

 初回のpingではARPプロトコルなどがやりとりされる。具体的にはARPによる名前解決(MACアドレスとIPアドレスの対応付け)が実行されるため、その分の遅延が少し入ることがある(基礎から学ぶWindowsネットワーク「MACアドレスを解決するARPプロトコル」参照のこと)。

 この遅延を測定結果に含めたくない場合は、まずダミーで1回だけpingを実行して名前解決を済ませてから、あらためて時間測定用のpingコマンドを実行する測定時間が比較的正確になる。

pingコマンドを使ってネットワークの帯域を計測する pingコマンドを使ってネットワークの帯域を計測する
名前解決のオーバーヘッドを少なくするため、「-n 1」オプションを付けて、pingを1回実行し、名前解決を実行しておく。その次にサイズ60000bytesのパケットを送信し、平均応答時間を計測する。ここでは、平均応答時間が101msだったので、「(60000×2)÷0.101≒1.13[Mbytes/s]」であることが分かる。ちなみに、この値は社内の無線LANで接続したPCとの間で計測したものだ。

 ダミーのpingは1回あれば十分なので、-nオプションを使って「ping -n 1」として実行するとよい。

pingをずっと実行し続ける

 回線の状態を定常的に観察するためには、pingをずっと実行し続けるという方法も考えられる。そのような場合は、-tオプションを利用するとよい。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。