はじめに
 ほとんどのLinuxユーザーは、 pingに精通しています。  コマンドを実行し、基本的な形式での使用方法を知っています。ただし、多くの追加のpingオプションとバリエーションがあります。このガイドでは、最も便利な Linux pingのいくつかを紹介します。 例を含むコマンド。 
この記事のコマンドは、UNIXまたはLinuxディストリビューションで機能します。例と出力サンプルを提供するために使用したテストシステムは、Ubuntu18.04.2LTSです。
 
 前提条件
- LinuxまたはUNIXライクなシステム
- 端末へのアクセス
- コマンドを実行するために必要な権限を持つユーザー
Linuxでのpingのしくみ
 Linuxのping  コマンドは、ネットワークが利用可能かどうか、およびホストが到達可能かどうかを確認するために使用される単純なユーティリティです。このコマンドを使用すると、サーバーが稼働しているかどうかをテストできます。また、さまざまな接続の問題のトラブルシューティングにも役立ちます。
  ping  コマンドを使用すると、次のことができます。
- インターネット接続をテストします。
- リモートマシンがオンラインかどうかを確認します。
- パッケージのドロップや遅延の増加など、ネットワークの問題があるかどうかを分析します。
リモートホストに「ping」を実行しようとすると、マシンはICMPエコー要求の送信を開始し、応答を待ちます。接続が確立されると、リクエストごとにエコー応答を受け取ります。
  pingの出力  コマンドには、すべてのパケットが宛先に到達して戻るまでにかかる時間が含まれます。
端末は、中断されるまで応答を出力し続けます。すべてのセッションの後に、ping統計を含む数行があります。
 
 pingコマンドの使用方法
 基本的なping構文には、 pingが含まれます。  その後に、ホスト名、Webサイトの名前、または正確なIPアドレスが続きます。
ping [option] [hostname] or [IP address]したがって、リモートホストが稼働しているかどうかを確認するには、この場合は google.com 、端末に入力します:
ping google.comCtrl + Cを押します キーボードでプロセスを停止します。
 
 
 1.  from  :宛先とそのIPアドレス。 WebサイトのIPアドレスは、地理的な場所によって異なる場合があることに注意してください。
 2.  icmp_seq=1  :各ICMPパケットのシーケンス番号。後続のエコー要求ごとに1ずつ増加します。
 3.  ttl=52  :Time to Liveの値は1〜255です。これは、ルーターがパケットを破棄するまでにパケットが取ることができるネットワークホップの数を表します。
 4.  time=7.68 ms  :パケットが宛先に到達して送信元に戻るまでにかかった時間。ミリ秒で表されます。
Linuxでのpingコマンドと例
ローカルネットワークを確認するために「localhost」にpingを実行
Webサイトまたはリモートマシンに到達する際に問題が発生した場合は、ローカルホストにpingを実行して、ネットワークに接続していることを確認できます。 3つの方法のいずれかを使用して、ローカルネットワークインターフェイスを確認します。
-   ping 0–これはローカルホストにpingを実行する最も簡単な方法です。このコマンドを入力すると、端末はIPアドレスを解決し、応答を提供します。
-   ping localhost–この名前を使用してローカルホストにpingを実行できます。名前はお使いのコンピューターを指しており、このコマンドを使用すると、「このコンピューターにpingを実行する」と言います。
-   ping 127.0.0.1–ローカルホストにpingを実行するよりもIPアドレス127.0.0.1を使用することを好む人もいます。
どちらの方法を選択しても、ping出力は同じように見えます。
 
 インターネットプロトコルを指定する
IPv6は、IPv4に取って代わるIPアドレスの英数字形式です。これは、IPv4アドレスの数が限られており、可能な組み合わせが不足しているためです。
 IPv6またはIPv4アドレスをリクエストするには、 -6を追加します  または-4   pingの後  コマンドおよびホスト名/IPの前。
ping -6 hostname/IPv6ping -4 hostname/IPv4pingパケット間の時間間隔の変更
 各ping要求間のデフォルトの間隔は1秒に設定されています。  -iを使用して、その時間を増減できます  スイッチ。 ping間隔を短くするには、1未満の値を使用します。
ping -i 0.5 google.comping間隔を長くするには、1より大きい値を入力します。
Pingパケットサイズの変更
 シナリオによっては、 -sを使用したい場合があります  パケットサイズをデフォルト値の56(84)バイトから増やします。括弧内の数字は、28バイトのヘッダーパケットを含む送信されたpingバイトを表します。
たとえば、パケットサイズを1000バイトに増やすには:
ping -s 1000 google.com次の出力が得られます:
 
 このコマンドは、ネットワークパフォーマンスをテストするときに役立ちます。パケットサイズを数千バイトに増やしたときに、ネットワークリンクが抑制されるかどうかをテストできます。
pingを使用してネットワークをフラッディングしてパフォーマンスをテストする
pingフラッドを使用できます 重い負荷の下でネットワークパフォーマンスをテストします。
 Pingフラッド-f  オプションを実行するにはrootが必要です。それ以外の場合は、 sudoを適用します  pingに  ホストをフラッディングするコマンド。このコマンドは、できるだけ早く大量のパケットを送信します。
sudo ping -f hostname-IP 
 
 出力は、送信されたすべてのパッケージにドットを出力し、すべての応答にバックスペースを出力します。統計行には、 pingの概要が表示されます  コマンド。
pingの数を制限する方法
  pingのデフォルト設定  コマンドは、要求を中断するまで要求を送信し続けることです。 2つの方法のいずれかを使用して、pingの数を制限できます。
pingパケットの数を制限する
  pingを作成するには  コマンドは、特定の数のパケットを送信した後に自動的に停止します。 -cを使用してください  と番号。これにより、次の例に示すように、必要なping要求の量が設定されます。
ping -c 2 google.com 
 
 上の画像でわかるように、 ping  コマンドは、2つの要求の後にパケットの送信を停止しました。
pingコマンドの時間制限を設定
 特定の時間が経過した後にping出力の受信を停止するには、 -wを追加します  コマンドまでの秒単位の間隔。
 たとえば、25秒後にping結果の印刷を停止するには、 pingと入力します。  コマンド:
ping -w 25 google.compingのその他の使用法
Ping出力を抑制して要約統計量のみを印刷する
 すべてのパケットの情報で画面を詰まらせたくない場合は、 -qを使用してください  要約のみを表示するように切り替えます。
  -q  オプションは、通常のping情報を含む1行を出力し、最後に統計を提供します。文字「q」 このコマンドでは、「静かな」出力を表します。
ping -c 10 -q google.com通常、静かな出力を他のオプションと組み合わせます。この場合、pingを制限して10パケットを送信し、出力を抑制します。
 
 ping出力の各行の前にタイムスタンプを追加
  pingを実行する時刻をメモしたい場合  コマンド、 -Dを追加します  オプション。
ping -D google.comこれにより、各行の前にUNIX形式のタイムスタンプが出力されます。
 
 ホストが到達可能になったときに可聴pingを取得する
  -aを使用する場合  スイッチを押すと、ホストからの応答があるときにシステムが音を鳴らします。
ネットワークの問題をトラブルシューティングしていて、応答があるまで画面を見たくない場合は、音声によるpingが役立ちます。
ping -a google.com
 出力は通常のpingと同じように見えます  コマンド出力。
Pingバージョンを表示して終了
いつでも、システム上のpingツールのバージョンを確認できます。
  -Vを追加します   pingへ  このユーティリティのバージョンを表示するコマンド。
ping -V google.com 
 一般的に使用されるPingコマンドは次のとおりです。
| pingオプション | コマンドの機能 | 
|---|---|
| a | ピアに到達できるときにサウンドを生成します。 | 
| b | ブロードキャストIPアドレスにpingを実行できます。 | 
| B | pingがプローブの送信元アドレスを変更しないようにします。 | 
| c (count) | 送信されるpingリクエストの数を制限します。 | 
| d | 使用するソケットにSO-DEBUGオプションを設定します。 | 
| f | 毎秒数百のパケットを送信してネットワークをフラッディングします。 | 
| i (interval) | 連続するパケット送信の間隔を指定します。デフォルト値は1秒です。 | 
| I (interface address) | 送信元IPアドレスを指定されたインターフェースIPアドレスに設定します。このオプションは、IPv6リンクローカルアドレスにpingを実行するときに必要です。デバイスのIPアドレスまたは名前を使用できます。 | 
| l (preload) | 応答を待たずに送信するパケットの数を定義します。 3より大きい値を指定するには、スーパーユーザー権限が必要です。 | 
| n | ホスト名ではなく、ping出力にIPアドレスを表示します。 | 
| q | 静かな出力を表示します。 1つのping行が表示され、最後にpingコマンドの概要が表示されます。 | 
| T (ttl) | 存続時間を設定します。 | 
| v | 詳細な出力を提供します。 | 
| V | pingバージョンを表示し、新しいコマンドプロンプト行に戻ります。 | 
| w (deadline) | 送受信されたパケットの数に関係なく、pingコマンドが終了するまでの時間制限を指定します。 | 
| W (timeout) | 応答を待機する時間を秒単位で決定します。 |