In this Article
ホストが利用可能か、ネットワークがつながっているかを確認することは、どのような作業でも基本になります。そのためにすぐ使える強力なツールがpingです。この記事では、pingとは何か、何に使えるのか、ウェブサイトにpingを実行する方法、ping結果の読み取り方、ネットワーク監視やトラブルシューティングに使えるpingベースの追加ツールについて解説します。
pingとは何か、なぜ重要か
Ping (Packet InterNet Gopher) はネットワーク診断ツールです。Windowsならコマンドプロンプトに、MacOSやLinuxならターミナルに入力して使うコマンドです。コマンドの後にスペースを入れ、IPアドレスまたはウェブサイト名(dataimpulse.comなど)を入力し、”Enter”を押します。すると、Internet Control Message Protocol (ICMP) のエコー要求が対象のサーバーまたはデバイスに送信されます。この要求は小さなデータパケットです。対象サーバーがオンラインで正常に動作していれば、エコー応答パケットを返します。
ウェブサイトやデバイスにpingを実行すると、エコー要求は1回だけでなく複数回送信されます。たとえばWindowsでは、デフォルトで4回です。
PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: icmp_seq=0 ttl=118 time=17.051 ms 64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=17.199 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=17.168 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=118 time=17.112 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=118 time=17.149 ms ^C --- 8.8.8.8 ping statistics --- 5 packets received 5 packets transmitted, 100.0% packet loss round-trip min/avg/max/stddev = 17.051/17.136/17.199/0.055 ms
正確な結果を得てネットワーク状態を把握するには、複数の要求を送信する必要があります。
ただし、ping結果の読み方を知っておく必要があります。
ping結果の読み方
まず、表示される各行の意味を整理しましょう。
その後の行には宛先からの応答が表示され、そこから多くの有益な情報を読み取れます。まず、応答として受け取ったパケットのサイズが表示されます。この例では、パケットには32バイトのデータが含まれています。ただし、要求と応答のサイズは異なる場合があります。これは、オペレーティングシステム、ネットワーク設定、応答タイプなどによって変わります。たとえばWindowsではパケットサイズのデフォルトは32バイトですが、Linuxでは56または64バイトです。自分のデバイスと対象デバイスで異なるシステムを使っている場合、要求パケットと応答パケットのサイズは異なります。対象サーバーが応答しない場合、ICMP応答にICMPエラーメッセージが含まれることがあり、それによって応答パケットのサイズが変わります。
次に見るべきなのは時間です。これは応答の中で最も重要な項目です。要求が自分のデバイスから対象サーバーへ届き、さらに応答が自分の機器へ戻るまでにかかった合計時間を示します。これはラウンドトリップ時間(RTT)と呼ばれ、ミリ秒(ms)で測定されます。一般に、RTTは低いほど良好です。pingの要約には、最小、最大、平均のRTT値が表示されます。最小RTTは最良のケースを示し、ネットワーク固有の遅延を見積もる助けになります。平均RTTは、標準的なネットワーク性能を判断する手がかりになります。
最大RTTは、考えられる最悪のケースを表します。最大RTTを監視すると、ネットワークで何が起きているかを把握しやすくなります。パケット損失、帯域幅の制限、デバイスの過負荷といった問題を示す場合があります。最大RTTが平均RTTより明らかに高い場合、最適ではない経路が関係している可能性があります。最大RTTの急な上昇は、ネットワークの不安定さ、ルーター障害、一時的な停止によって起きることがあります。ミリ秒ではなく秒単位で測定されるほど極端に高い最大RTTは、ネットワーク経路上のどこかでルーターやケーブルが故障していることを示す場合があります。ただし、最大RTTが高い原因はネットワーク関連の問題だけでなく、対象ホストの性能問題であることもあります。
もう1つの指標であるTime-to-Live、つまりTTLは、データパケットが破棄されるまでに通過できるルーター(ホップ)の最大数を示します。TTL値はオペレーティングシステムによって異なります。たとえばWindowsでは、デフォルトのTTL値は128です。LinuxやMacOSのようなUnix系システムでは64です。Ciscoのネットワーク機器、たとえばルーターでは、通常255がデフォルトのTTL値として設定されます。データパケットがルーターを通過するたびに、TTL値は1ずつ減ります。pingレポートでは、未使用のホップ数が表示されます。ただしTTLが0になると、ルーターはそのデータパケットを転送せず破棄します。期限切れのTTLを持つパケットをルーターが受け取ると、ICMP “Time Exceeded”メッセージを生成して自分のデバイスへ送信します。画面には”Time to live exceeded”メッセージが表示されます。TTLは、ルーターがデータパケットを際限なく転送することで起きるネットワークの混雑やルーティングループを防ぐために必要です。
TTLを分析すると、ホストのオペレーティングシステムや、ボトルネック、ネットワーク輻輳といった潜在的な問題を推測できることがあります。また、一部のファイアウォールやセキュリティ機器はTTL値を変更できるため、監視することでネットワーク設定をより深く理解できます。異常に高いTTLは、データが適切でない経路を通っている兆候かもしれません。オペレーティングシステム、アプリケーション、セキュリティ対策が許可していれば、TTL値は調整できます。たとえば、性能の低いルーターを見つけるために使われます。ただしTTLの調整は、パケット損失の増加やルーティング問題などの悪影響につながる可能性があります。そのため、ネットワークトポロジーを理解し、TTL値を変更する確かな理由を持つことが重要です。
オペレーティングシステムによっては、ping結果に他の指標が含まれることもあります。たとえばMacOSとLinuxでは、各データパケットに0から始まるシーケンス番号が割り当てられます。これはicmp_seqという名前で確認できます。
pingコマンドをカスタマイズするには?
標準のpingコマンドは、必要に応じて調整できます。利用可能なオプションを見るには、”ping /?”(引用符は不要)と入力して”Enter”を押します。利用できるバリエーションの一覧が表示されます。
たとえばWindowsでは、対象ホストへ送信する要求数はデフォルトで4です。ただし、”-n count”オプションを使えば、1から 4294967295までの任意の数を設定できます。するとシステムは4回ではなく、設定した回数の要求を送信します。
多くのオプションは、IPv4アドレスにpingする場合にのみ機能する点に注意してください。また、使用するオペレーティングシステムによって一部のオプションは異なります。たとえばMacOSで要求数をカスタマイズしたい場合は、”ping -c count hostname”と入力します。
ping -c 10 8.8.8.8 PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: icmp_seq=0 ttl=118 time=17.051 ms 64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=17.199 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=17.168 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=118 time=17.112 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=118 time=17.149 ms 64 bytes from 8.8.8.8: icmp_seq=5 ttl=118 time=17.051 ms 64 bytes from 8.8.8.8: icmp_seq=6 ttl=118 time=17.199 ms 64 bytes from 8.8.8.8: icmp_seq=7 ttl=118 time=17.168 ms 64 bytes from 8.8.8.8: icmp_seq=8 ttl=118 time=17.112 ms 64 bytes from 8.8.8.8: icmp_seq=9 ttl=118 time=17.149 ms --- 8.8.8.8 ping statistics --- 10 packets received 10 packets transmitted, 0.0% packet loss round-trip min/avg/max/stddev = 17.051/17.136/17.199/0.055 ms
MacOSで利用可能なすべてのオプションを見るには、簡単な説明なら”ping -h”、詳細な一覧なら”ping -h extended”と入力します。
ping -h
Usage: ping [-AaLnQqRrvwx] [-c count] [-i interval] [-I interface]
[-l preload] [-m ttl] [-p pattern] [-S src_addr]
[-s packetsize] [-t timeout] [-W waittime] [host]
Options:
-A Use ICMP timestamp instead of ICMP echo
-a Audible ping
-L Loose source routing
-n Numeric output only
-Q Quiet output
-q Quiet output
-R Record route
-r Bypass normal routing tables
-S Set the IP source address of the outgoing packet
-v Verbose output
-w Time to wait for a response, in seconds
-x Exclude network interfaces in the output
-c count Stop after sending count packets
-i interval Wait interval seconds between sending packets
-I interface Use interface as source interface
-l preload Send preload number of packages asap
-m ttl Set the IP Time to Live
-p pattern Fill padding bytes with the specified hexadecimal pattern
-s packetsize Specify the number of data bytes to be sent
-t timeout Specify a timeout, in seconds, before ping exits regardless of
how many packets have been received
-W waittime Time to wait for response, in seconds (after all were sent)
ping -h extended
Usage: ping [-AaLnQqRrvwx] [-c count] [-i interval] [-I interface]
[-l preload] [-m ttl] [-p pattern] [-S src_addr]
[-s packetsize] [-t timeout] [-W waittime] [host]
Options:
-A Use ICMP timestamp instead of ICMP echo
-a Audible ping
-L Loose source routing
-n Numeric output only
-Q Quiet output
-q Quiet output
-R Record route
-r Bypass normal routing tables
-S Set the IP source address of the outgoing packet
-v Verbose output
-w Time to wait for a response, in seconds
-x Exclude network interfaces in the output
-c count Stop after sending count packets
-i interval Wait interval seconds between sending packets
-I interface Use interface as source interface
-l preload Send preload number of packages asap
-m ttl Set the IP Time to Live
-p pattern Fill padding bytes with the specified hexadecimal pattern
-s packetsize Specify the number of data bytes to be sent
-t timeout Specify a timeout, in seconds, before ping exits regardless of
how many packets have been received
-W waittime Time to wait for response, in seconds (after all were sent)
Extended options:
-C Clear counters before sending
-H Print histogram of response times
-M [do|dont] Set DF bit on IP packets
-o Report outstanding replies
-O Print time-stamped output
-P [in|out] Print ICMP packets received/sent
-T [tsonly] Print timestamp(s) of returned packets
-Z Set the SO_MARK option on socket
pingコマンドをカスタマイズすると、ネットワーク性能のテスト、接続性の理解、異なるシステムのネットワーク性能を比較する際のより正確な結果の取得に役立ちます。
Ping:用途
Pingは使いやすいツールで、ほとんどのコンピューターに標準で用意されているため、追加ツールなしで使えます。無料で定期的に更新されているうえ、情報量が多く用途も広いツールで、主に次の目的で使われます。
– ネットワーク接続性テスト
pingの実行は、対象ホスト、アプリ、サービスが利用可能か、接続が機能しているかを確認するためのシンプルで効果的な方法です。
– ネットワーク監視
定期的にpingを実行すると、時間の経過に伴うネットワーク性能を分析し、基準値を作成できます。ネットワークの傾向や問題を見つけるのにも役立ちます。
– 速度測定
Pingはネットワーク速度に関する詳細な情報を提供します。速度に関する潜在的な問題を見つけるのに便利なツールです。
– トラブルシューティング
pingを実行すると、問題が対象ホスト側にあるのか、ネットワーク自体が機能していないのかを含め、問題とその原因を特定しやすくなります。必要に応じて別のバリエーションも役立ちます。
pingコマンドのバリエーション
標準のpingコマンドだけが選択肢ではありません。状況によっては、より適した別のバリエーションがあります。
fping
多数のホストにpingを実行する必要がある場合、fpingは最適です。ホスト名やIPアドレスを直接入力することも、対象ホストの一覧を含むファイル名を指定することもできます。Fpingは標準コマンドとは異なり、並列pingを使います。要求を送信しても応答を待たず、一覧内の次のサーバーへ要求を送ります。つまり、より早く結果を得られます。負荷テストやネットワークテストを行うなら、fpingが適しています。
hpingとhping3
hpingと、その現代版であるhping3では、カスタムTCP/IPパケットを作成できます。元のhpingはLinuxやその他のUnix系システム向けに設計されたため、Windowsでは一部制限があります。hping3はWindowsを含むさまざまなオペレーティングシステムとの互換性が高く、ICMP以外のプロトコルにもより多く対応しているため、より柔軟で現在はよく使われています。ただし、どちらのユーティリティもファイアウォールテスト、ポートスキャン、サービス拒否 (DoS) テストなどに役立ちます。
nping
これは比較的新しいコマンドです。npingはデータパケットを作成し、DNS、HTTP、FTPなど多くのプロトコルをサポートするだけでなく、対象ホストから受け取った応答も分析するため、pingを一段高いレベルへ引き上げます。ネットワーク接続性と遅延について詳細な情報を提供します。
psping
pspingは、ネットワーク上の2つのエンドポイント間で遅延や帯域幅を測定し、パケット損失を検出したい場合に役立ちます。このツールは多くのオペレーティングシステムに対応し、多数のプロトコルをサポートしています。
標準のpingはコンピューターにデフォルトでインストールされている点に注意してください。他のバリエーションは、自分でインストールした場合にのみ利用できることがあります。
Pingスプーフィング
Pingスプーフィングは攻撃手法の一種です。攻撃者は多数のICMPパケットを対象ホストに送り、リソースを消耗させ、ユーザーがそのホストを利用できない状態にします。Pingスプーフィングは比較的実行しやすい一方で効果があります。DDoS攻撃の一部として使われることもよくあります。さらに、Pingスプーフィングはネットワークトポロジーを把握し、開いているポート、利用可能なホストなどの情報を集め、攻撃者が次の攻撃を計画するためにも使われます。また、悪意のあるコードやマルウェアを対象システムへ配布する手段にもなります。攻撃者はスプーフィング元を隠し、要求が異なるアドレスから来ているように見せるため、偽装したIPアドレスをよく使います。このようにして、セキュリティ機構を突破しようとします。
pingで使うプロキシ
プロキシはpingで広く使われており、それには十分な理由があります。ネットワーク接続性テストやトラブルシューティングでpingを効果的に使うには、すべてのトラフィックが異なる場所やネットワークから発生しているように見せる必要があります。そうすることで、ネットワークの健全性をより正確に理解できます。そこで役立つのがプロキシです。DataImpulseでは信頼できるプロキシを見つけられます。当社では195のロケーションから1500万以上のIPアドレスを提供しているため、リクエストを効果的に分散できます。ただし、プロキシは合法的な目的にのみ使用することを忘れないでください。DataImpulseはプロキシの違法使用について責任を負いません。
Ping:よくある質問
pingと遅延は同じですか?
ping=遅延と説明している情報源はたくさんあります。確かに両者は関連していますが、同じものではありません。Pingが測定するのはRTT、つまりデータパケットが発信元から対象ホストへ行き、戻ってくるまでの時間です。遅延は片方向の遅れとして定義されます。たとえば、データが発信元から対象ホストへ届くまでの時間です。さらに、pingで得られる情報は特定のホストに関するものだけです。一方、遅延はネットワーク全体の性能を表す、より広い用語です。RTT値を2で割れば遅延値が得られるという考え方もあります。ただし、この方法はかなり大まかです。pingの要求と応答は異なる経路を通ることがあり、対象ホスト側の処理遅延がRTTに影響する場合もあります。また、自分側と対象側の時計は正確に同期している必要があり、少しでもずれると誤差が生じます。そのため、遅延測定にはOWAMPのような片方向アクティブ測定プロトコルや、PTPのような時刻同期プロトコルを使うべきです。
pingとtracerouteは同じですか?
pingとtracerouteはどちらもネットワーク診断ツールで、併用されることがよくありますが、役割は異なります。Pingはネットワーク接続性を監視し、ホストの可用性を確認するのに便利なツールです。一方tracerouteは、データパケットが発信元から対象宛先までたどる経路を追跡します。TTLを段階的に増やしながらUDPまたはICMPデータパケットを連続して送信し、パケットが異なるホップでタイムアウトして破棄されるようにします。このツールは各ルーターのIPアドレスと対応するRTTを収集します。これによりtracerouteは、送信元と宛先の間のネットワーク経路について詳細な情報を提供します。ルーティングループ、輻輳、ネットワーク設定ミスを特定するために必要なツールです。
スマートフォンから対象ホストにpingできますか?
はい、モバイルデバイスを使って対象ホストにpingできます。iOSなら”Termius”、Androidなら”Ping”のような専用アプリをインストールする必要があります。他のアプリも利用できます。その後は、選んだアプリの手順に従ってください。
Discordでのpingとは何ですか?
Discordでは、pingは”@”記号を使ったユーザー、ユーザーグループ、ロール、または特別なメンションを指します。ユーザーやユーザーグループをメンションすると通知が届き、それもpingと呼ばれます。ゲーマーはRTTを指してこの言葉を使うことも多く、滑らかなゲームプレイに欠かせない測定値です。良いpingはRTTが15から45 msの範囲であることを意味し、悪いping、つまり100 msを超える場合は、快適なゲームプレイが難しくなることがよくあります。
まとめ
新しいツールに何千ドルもかける必要がない場合もあります。コマンドプロンプトまたはターミナルを開き、0セントで、たった4文字 – ping – と入力するだけで、対象ホストの可用性、ネットワーク接続性、遅延などについて多くの有益な知見を得られます。これはシンプルでありながら効果的なツールで、さまざまなデバイスやオペレーティングシステムで使え、プロキシを含む他の手段とも組み合わせられます。DataImpulseは、pingの利用環境を向上させるために合法的に取得されたプロキシを提供できます。画面右上の”今すぐ試す“ボタンを押すか、 [email protected] までお問い合わせください。



