Linuxコマンド · 1 min read · Sep 19, 2025

初心者のためのLinux pingコマンドチュートリアル(8つの例)

Linuxユーザーのタイプに関係なく(初心者またはプロ)、知っておくべき特定のツールがあります。その1つがPingです。このチュートリアルでは、いくつかのわかりやすい例を使ってこのツールの基本について説明します。しかし、その前に、この記事のすべての例はUbuntu 16.04 LTSマシンでテストされていることを述べておく価値があります。

Linux pingコマンド

最も基本的な用語で、pingコマンドはリモートホストが生きていて応答しているかどうかを確認することができます。以下はツールの構文です:

ping [OPTIONS] destination

そして、manページでは次のように説明されています:

ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to elicit  
 an ICMP ECHO_RESPONSE from a host or gateway.  ECHO_REQUEST datagrams  
 (``pings'') have an IP and ICMP header, followed by a struct timeval  
 and then an arbitrary number of ``pad'' bytes used to fill out the  
 packet.  

 ping6 is IPv6 version of ping, and can also send Node Information  
 Queries (RFC4620). Intermediate hops may not be allowed, because  
 IPv6 source routing was deprecated (RFC5095).

以下は、pingコマンドがどのように機能するかを理解するのに役立つQ&Aスタイルの例です。

Q1. pingコマンドの使い方は?

基本的な使い方は非常に簡単です - 目的地を入力として’ping’コマンドを実行するだけです。

例えば:

ping howtoforge.com

以下は、私のシステムで生成されたこのコマンドの結果です:

pingコマンドの使い方

デフォルトでは、コマンドはCtrl+Cで停止するまで実行し続けることに注意してください。

Q2. pingパケット間の時間間隔を変更するには?

デフォルトでは、pingパケット間に1秒の間隔があります。ただし、必要に応じて、-iコマンドラインオプションを使用してこの遅延をカスタマイズできます。

例えば、以下のコマンドは3秒の間隔を確保します:

ping -i 3 howtoforge.com

次のコマンドは、0.5秒の遅延でパケットを送信します。

ping -i 0.5 howtoforge.com

0.2秒未満の値に間隔を設定できるのはスーパーユーザーのみです。

Q3. pingパケットのサイズを変更するには?

デフォルトでは、pingパケットのバイト数は56(ICMPヘッダーの8バイトを含めると64)です。ただし、必要に応じて、この値を変更できます。これは-sコマンドラインオプションを使用して行うことができます。

例えば、80バイトのパケット(ICMPヘッダーを含めると88バイト)を送信するには、以下のコマンドを使用します:

ping -s 80 howtoforge.com

Q4. pingが設定された数のパケットを送信するようにするには?

pingのデフォルトの動作は、ユーザーによって中断されるまでパケットを送り続けることです。ただし、必要に応じて、設定された数のパケットを送信した後にpingを停止させることができます。これは-cコマンドラインオプションを使用して行うことができます。

例えば、以下のコマンドは3パケットを送信し、その後停止します。

ping -c 3 howtoforge.com

Q5. pingを使用してパケットの洪水を発生させるには?

はい、pingコマンドはパケットの洪水を発生させるオプションも提供しています。これは-fコマンドラインオプションを使用して行うことができます。

ping -f howtoforge.com

このオプションについて公式ドキュメントは次のように述べています:

 For every ECHO_REQUEST sent a period ``.'' is  
 printed, while for ever ECHO_REPLY received a backspace is  
 printed. This provides a rapid display of how many packets are  
 being dropped. If interval is not given, it sets interval to  
 zero and outputs packets as fast as they come back or one hun?  
 dred times per second, whichever is more. Only the super-user  
 may use this option with zero interval.

Q6. pingが各行の前にタイムスタンプを印刷するようにするには?

これを行うオプション(-D)があります。印刷されるタイムスタンプは、unix時間とマイクロ秒の組み合わせです(gettimeofdayのように)。

ping -D howtoforge.com

このオプションの動作を示すスクリーンショットは以下の通りです:

Q7. pingのハードタイムアウトを設定するには?

pingが終了するための時間の期限を指定できます。これは、数値値(秒数)を必要とする-wコマンドラインオプションを使用して行うことができます。

例えば、以下のpingコマンドは3秒後に停止します:

ping -w 3 howtoforge.com

公式ドキュメントでは、このオプションについて次のように説明しています:

 Specify a timeout, in seconds, before ping exits regardless of  
 how many packets have been sent or received. In this case ping  
 does not stop after count packet are sent, it waits either for  
 deadline expire or until count probes are answered or for some  
 error notification from network.

Q8. pingのソフトタイムアウトを設定するには?

-wオプションは、期限が切れた後にpingが必ず停止することを保証しますが、もう1つのオプション(-W、大文字)があり、これはpingが停止するのは、宛先側からの応答がない場合のみです。

ping -W 3 howtoforge.com

この場合の動作についてmanページは次のように説明しています:

 Time to wait for a response, in seconds. The option affects only  
 timeout in absence of any responses, otherwise ping waits  
 for two RTTs.

結論

Pingは、ネットワーク関連の問題をデバッグする際にほぼ確実に使用される重要なツールです。このチュートリアルでは、このユーティリティのいくつかの主な機能(コマンドラインオプション)について説明しました。これらを練習し、完了したら、ツールのmanページにアクセスしてさらに詳しく知ってください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。