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

pingコマンドを利用すると、IP的に到達可能であるかどうかを調査できる。pingコマンドはデフォルトでは4回だけパケットを送信する。さらに繰り返し実行したり、パケットのデータサイズを拡大したりする方法や、pingコマンドを使って遅延時間などを計測する際の注意点などを紹介する。

» 2023年02月08日 05時00分 公開

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

「Tech TIPS」のインデックス

連載目次

「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アドレスまたはホスト名>

指定した回数だけpingを繰り返し実行するコマンド

回数を指定してpingコマンドを実行するには 回数を指定してpingコマンドを実行するには
-n <回数>」オプションを付けると回数分だけpingが実行される。ここでは「-n 10」として10回実行している。

 「-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」オプションを使ってネットワークの遅延時間の計測精度を高める 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の実行を再開する。

pingをずっと実行し続ける pingをずっと実行し続ける
-t」オプションを使うと、[Ctrl]+[C]キーで中断するまでpingを実行し続ける。途中の統計結果を見たい場合は、[Ctrl]+[Break]キーを押せばよい。

 Windows OSのpingコマンドでは送信の間隔は1秒に固定されているため、例えば10分に1回だけ実行するといった使い方は(pingコマンド単独では)できない。

 なお前述の通り、pingコマンドなどでICMPパケットを1秒おきにずっと送信し続けると、一種の攻撃と見なされる可能性がある。この「-t」オプションは、自組織で管理しているネットワーク上でのみ利用するなどの注意が必要である。

【応用】「-t」オプションでネットワークの安定性を調べるには

 ネットワーク機器が不安定だと、pingの応答がときどき途絶することがある。このとき「-t」オプションを付けてpingをずっと実行していると、「要求がタイムアウトしました。」といったメッセージが表示される。これが多発している場合は、ネットワークのどこかで何らかの不具合が発生していると判断できる。

応答が一時的に途絶した場合のpingコマンドの表示例 応答が一時的に途絶した場合のpingコマンドの表示例
要求がタイムアウトしました。」が繰り返し表示されたり、「時間」に大きなばらつきがあったりした場合は、ネットワークの経路に何らかの障害が発生している可能性がある。

pingコマンドで送信するパケットサイズを大きくするには(「-l」オプション)

 Windows OSのpingコマンドが送信するICMPパケットのデフォルトのデータサイズは32Bと小さい。この場合、他の通信トラフィックによって測定結果が大きく変わってしまうことがある。また「32B」というのはデータ部分だけであり、変動することもあるパケットのヘッダー部分は含まれないため、このサイズで帯域(速度)を算出すると誤差が大きくなりがちだ。

 そのような場合は、pingコマンドに「-l」オプションを指定して、送信パケットサイズを大きくするという手段がある。例えば、「-l 60000」と指定すると60000Bのデータサイズのパケットが送信される。

pingコマンドで送信するパケットサイズを大きくする pingコマンドで送信するパケットサイズを大きくする
データサイズ60000Bで平均応答時間が6msだったとすると、このときのネットワークの平均速度は「(60000×2)÷0.006=20000000B=20MB/s」と算出できる(詳しくはTech TIPS「pingでネットワークの速度を調査する」参照)。

 ただしネットワーク環境によっては、データサイズを大きくすると正しく応答が返ってこないことがある。その場合は1400B程度にして試してみるとよいだろう。

■更新履歴

【2023/02/08】Windows 11などに対応しました。

【2019/10/04】最新の状況に対応しました。

【2015/07/28】Windows 10など最新のWindows環境に対応しました。

【2005/11/19】初版公開。


「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

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

メールマガジン登録

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