Linuxユーザーのタイプ(初心者またはプロ)に関係なく、知っておく必要のある特定のツールがあります。そのようなユーティリティの1つがPing 。このチュートリアルでは、わかりやすい例を使用して、このツールの基本について説明します。ただし、その前に、ここでの記事のすべての例がUbuntu16.04LTSマシンでテストされていることを言及する価値があります。
Linuxpingコマンド
最も基本的な用語では、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
以下は、私のシステムで生成されたこのコマンドの結果です。
デフォルトでは、コマンドは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(8バイトのICMPヘッダーを含めると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が確実に停止しますが、宛先側からの応答がない場合にのみpingを停止する別のオプション(-W、大文字で)があります。
ping -W 3 howtoforge.com
この場合の動作については、マニュアルページで次のように説明されています。
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は、ネットワーク関連の問題のデバッグにほぼ確実に使用される重要なツールです。このチュートリアルでは、このユーティリティのいくつかの主な機能(コマンドラインオプション)について説明しました。これらを練習し、完了したら、ツールのマニュアルページにアクセスして詳細を確認してください。