ping コマンド

目的

ECHO_REQUEST をネットワークホストに送信する。

構文

ping [ -d ] [ -D ] [ start of change-Fend of change ] [ -n ] [ -q ] [ -r ] [ -v] [  -R ] [ -a addr_family ] [ -c Count ] [ -w timeout ] [ start of change-uend of change ] [ -f-i Wait ] [ -l Preload ] [ -p Pattern  ] [ -s PacketSize  ] [ -S hostname/IP addr ] [ -L ] [ -I a.b.c.d. ] [ -o interface ] [ -T ttl ] [ -E Interface_name | Source_Hostname | Source_IP_address ] Host [ PacketSize ] [ Count ]

説明

ping コマンドは Internet Control Message Protocol (ICMP) ECHO_REQUEST を送信し、ホストまたはゲートウェイから ICMP ECHO_RESPONSE を受信する。 ping コマンドには以下の機能がある:

  • ネットワークの状態と外部ホストの状態のみを決定する。
  • ハードウェアとソフトウェアの問題を追跡し、切り分ける。
  • ネットワークのテスト、測定、管理を行う。

ホストが動作可能でネットワーク上にあれば、ホストはエコーに応答する。 各エコー要求は、 Internet Protocol (IP)、ICMPヘッダ、pingプロセスID (PID)、 timeval 構造体、およびパケットを完了するために必要なバイトを含む。

ping コマンドは、毎秒1個のデータグラムを送信し、ネットワークホストから受信した応答ごとに1行の出力を表示する。 ping コマンドは、ラウンドトリップタイム、パケットロスの統計を計算し、完了時にサマリーを表示する。 ping コマンドは、プログラムがタイムアウトするか、 SIGINT 信号を受信した時点で完了する。 Host パラメータには、有効なホスト名またはIPアドレスを指定する。

ping コマンドは、デフォルトでは、割り込みが入るまで、ディスプレイにエコー要求を送り続けます (Ctrl-C)stty コマンドを使えば、 Interrupt キーを変更できる。

エコー要求が繰り返されると、システムに過負荷がかかる可能性がある。 したがって、繰り返されるエコーリクエストは、主に問題の切り分けのために使用されなければならない。

フラグ

表 1. フラグ
項目 説明
-c Count 送受信しなければならないエコー要求の数を Count 変数で指定する。
-w タイムアウト pingは最後のパケットを送信した後、最大タイムアウト秒数だけ応答を待つ。 -w フラグは、 -c フラグでのみ機能する。
-d ソケットレベルでデバッグを開始する。
-D ICMP ECHO_REPLY パケットを標準出力に16進ダンプする。
-E インターフェース名送信元ホスト名送信元IPアドレス インターネットプロトコルバージョン4( IPv4 )およびインターネットプロトコルバージョン6( IPv6 )の特定のインターフェイス上でpingパケットを送受信する。 マシンのインターフェース・アドレスではないインターフェース名、送信元ホスト名、送信元IPアドレスを指定すると、エラーが返され、pingパケットは送信されない。 -E フラグを使用してインターフェース名を指定した場合、デフォルトでは、エコー要求の数 (-c Count) は値 5 に設定されます。
注:
  • -E フラグは、特定のインターフェイス上でpingパケットを送受信するようにする。
  • -E フラグは、宛先のメディアアクセス制御(MAC)アドレスに対してのみ働き、保存されたルートに対しては働かない。 したがって、 -E フラグは、アドレス解決プロトコル (ARP) が解決された場合にのみ、 IPv4 プロトコルで機能します。 -E フラグは、隣接者探索プロトコル (NDP) が IPv6 アドレスを MAC アドレスに解決する場合にのみ、 IPv6 プロトコルで機能します。
  • -E フラグは保存されたルートでは機能しないため、 -E フラグと一緒に -R フラグを実行することはできません。
変更の始め-F変更の終わり ping コマンドのレイテンシーを浮動小数点精度で表示。
-f flood-ping オプションを指定する。 -f フラグは、パケットが戻ってくるのと同じ速さか、毎秒100回のどちらか多いほうでパケットをフラッディングまたは出力する。 ECHO_REQUEST を送信するごとにピリオド (.) が印字され、 ECHO_REPLY を受信するごとにバックスペース (/) が印字される。 この操作により、ドロップされたパケット数が迅速に表示される。 -f フラグはrootユーザーのみが使用する。
注: -f フラグの使用には注意が必要。 flood で ping するには、root ユーザーしか使用できません。 -f フラグと -i Wait フラグには互換性がありません。
-I a.b.c.d 変数で指定されたインターフェイスが、発信 マルチキャストに使われなければならないことを指定する。 a.b.c.d 変数で指定されたインターフェイスが IPv4 マルチキャストの発信に使われなければならないことを指定する。
-o インターフェース IPv6 マルチキャストの発信にインターフェイス変数を使わなければならないことを指定する。 インターフェースは、 en0tr0 などの形式で指定する。
-i 待機 各パケット送信の間に Wait 変数で指定された秒数を待つ。 デフォルトでは、各パケット間で 1 秒待ちます。 -i フラグは -f フラグと互換性がない。 変更の始め -u フラグを指定した場合、 フラグに渡される間隔はマイクロ秒単位で考慮される。 -i -u フラグの有効な間隔は、50マイクロ秒以上1000000マイクロ秒以下である。 1000000マイクロ秒は1秒に相当する。 -i フラグと -D フラグを併用しないこと。変更の終わり
-L マルチキャストPingのローカルループバックを無効にする。
-l プリロード 通常の動作に入る前に、 Preload 変数で指定された数のパケットを可能な限り高速に送信する。 通常の動作モードは1秒に1回。
-n 数値出力のみを指定する。 ホストアドレスのシンボリック名の検索は試みられない。
-p パターン 送信するパケットを完成させるためのパッド・バイトを最大16個指定する。 -p ネットワークにおけるデータ依存の問題を診断するフラグ。 例えば、 -p ff はパケットをすべて1で埋める。
-q クワイエット出力を指定する。 開始時刻と終了時刻のサマリー行のみが表示される。
-r ルーティングテーブルをスキップし、接続されたネットワーク上のホストに直接送信する。 Host が直接ネットワークに接続されていない場合、ping コマンドがエラー・メッセージを出します。 -r フラグは、もはやそのインターフェイスを通るルートがないインターフェイスを通してローカルホストにpingを打つために使うことができる。
-R RECORD_ROUTE オプションを指定する。 -R フラグは、 ECHO_REQUEST パケットに RECORD_ROUTE オプションを含み、返されたパケットにルートバッファを表示する。
注: IPヘッダーは、このような9つのルートに対して十分な大きさがある。 多くのホストやゲートウェイは -R フラグを無視する。
-a addr_family addr_familyinet6 と等しい場合、ICMP パケットの宛先アドレスを IPv6 フォーマットにマップする。
-s PacketSize 送信しなければならないデータ・バイト数を指定する。 デフォルトのデータバイトは56であり、ICMPデータヘッダの8バイトと組み合わせると、64ICMPデータバイトに変換される。
-S hostname/IP addr 発信pingパケットの送信元アドレスとしてIPアドレスを使用する。 複数のIPアドレスを持つホストでは、 -S フラグを使って、特定の送信元IPアドレスを使ってpingパケットを送受信することができる。 IPアドレスがマシンのインターフェース・アドレスの1つでない場合、エラーが返され、何も送信されない。
注: -S フラグを使用すると、特定の送信元IPアドレスを使用してpingパケットを送受信することができますが、 -S フラグは、特定のインターフェイス上でpingパケットを送受信することを保証するものではありません。 代わりに、特定のインターフェイス上でpingパケットを送受信することを保証する -E フラグを使う。
-T TTL マルチキャスト・パケットの存続時間が ttl 秒であることを指定します。
変更の始め-u変更の終わり -u フラグと -i フラグを併用する。 -u フラグを指定した場合、 -i フラグに渡される間隔はマイクロ秒単位で考慮される。 -u フラグの有効な間隔は、50マイクロ秒以上1000000マイクロ秒以下である。 1000000マイクロ秒は1秒に相当する。 -u フラグと -D フラグを併用しないこと。
-v エコー応答に加えて、受信したICMPパケットをリストする冗長出力を要求する。

パラメーター

表 2. パラメーター
項目 説明
PacketSize 送信しなければならないデータ・バイト数を指定する。 デフォルトのデータ・バイトは56であり、ICMPヘッダー・データの8バイトと組み合わせると、64ICMPデータ・バイトに変換される。 このパラメータは、 ping コマンドの旧バージョンとの互換性のために含まれている。
カウント 送受信するエコー要求の数を指定します。 このパラメーターは、ping コマンドの前のバージョンと互換性を持たせるために組み込まれています。

セキュリティー

アテンション RBAC ユーザー
RBAC ユーザーへの注意: このコマンドは特権操作を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限と特権の詳細については、セキュリティ特権コマンドデータベースを参照してください。 このコマンドに関連する特権と権限のリストについては、'lssecattrコマンドまたは'getcmdattrサブコマンドを参照のこと。

  1. canopus として知られているホストのネットワーク接続をチェックし、送信しなければならないエコー要求の数を指定するには、以下のコマンドを入力する:
    ping  -c 5 canopus
    または
    ping canopus  56  5
    次の例に示すような出力が表示されます。
    PING canopus.austin.century.com: (128.116.1.5): 56 data bytes
    64 bytes from 128.116.1.5: icmp_seq=0 ttl=255 time=2 ms
    64 bytes from 128.116.1.5: icmp_seq=1 ttl=255 time=2 ms
    64 bytes from 128.116.1.5: icmp_seq=2 ttl=255 time=3 ms
    64 bytes from 128.116.1.5: icmp_seq=3 ttl=255 time=2 ms
    64 bytes from 128.116.1.5: icmp_seq=4 ttl=255 time=2 ms
    
    ----canopus.austin.century.com PING Statistics----
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 2/2/3 ms
  2. lear として知られているホストに関する情報を取得し、ソケット・レベルのデバッグを開始するには、以下のコマンドを入力する:
    ping  -d  lear
    次の例に示すような出力が表示されます。
    PING lear.austin.century.com: (128.114.4.18) 56 data bytes
    64 bytes from 128.114.4.18: icmp_seq=0 ttl=255 time=6 ms
    64 bytes from 128.114.4.18: icmp_seq=1 ttl=255 time=17 ms
    64 bytes from 128.114.4.18: icmp_seq=2 ttl=255 time=6 ms
    64 bytes from 128.114.4.18: icmp_seq=3 ttl=255 time=6 ms
    64 bytes from 128.114.4.18: icmp_seq=4 ttl=255 time=6 ms
    ^C
    ----lear.austin.century.com PING Statistics ----
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 6/8/17 ms
    注: 割り込み(Ctrl-C)を受信するまで出力は繰り返される。
  3. opus として知られているホストに関する情報を取得し、送信しなければならないデータ・バイト数を指定するには、以下のコマンドを入力する:
    ping  -s 2000 opus
    または
    ping opus  2000
    次の例に示すような出力が表示されます。
    PING opus.austin.century.com: (129.35.34.234): 2000 data bytes
    2008 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=20 ms
    2008 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=19 ms
    2008 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=20 ms
    2008 bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=20 ms
    2008 bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=20 ms
    2008 bytes from 129.35.34.234: icmp_seq=5 ttl=255 time=19 ms
    2008 bytes from 129.35.34.234: icmp_seq=6 ttl=255 time=19 ms
    ^C
    ----opus.austin.century.com PING Statistics----
    7 packets transmitted, 7 packets received, 0% packet loss
    round-trip min/avg/max = 19/19/20 ms
    注: 出力は、割り込み (Ctrl-C) を受信するまで繰り返されます。
  4. ホスト stlopnor に対するflood-pingオプションを開始するには、以下のコマンドを入力する:
    ping  -f stlopnor
    次の例に示すような出力が表示されます。
    Ping stlopnor.austin.century.com: (129.35.34.234): 56 data bytes
    .^C
    ----stlopnor.austin.century.com PING Statistics ----
    1098 packets transmitted, 1097 packets received, 0% packet loss
    round-trip min/avg/max = 4/4/11
    注: 出力は、割り込み (Ctrl-C) を受信するまで繰り返されます。
  5. ホストに送信されるパケットの間隔を5秒に指定するには、 opus、以下のコマンドを入力する:
    ping  -i5 opus
    次の例に示すような出力が表示されます。
    PING opus.austin.century.com: (129.35.34.234): 56 data bytes
    64 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=6 ms
    ^C
    ----opus.austin.century.com PING Statistics----
    3 packets transmitted, 3 packets received, 0% packet loss
    round-trip min/avg/max = 5/5/6 ms
    注: 出力は、割り込み (Ctrl-C) を受信するまで繰り返されます。
  6. 通常の動作モードに入る前に、 Preload 変数で指定された数のパケットをホスト opus に送るには、以下のコマンドを入力する:
    ping  -l 10 opus
    次の例に示すような出力が表示されます。
    PING opus.austin.century.com: (129.35.34.234): 56 data bytes
    64 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=9 ms
    64 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=11 ms
    64 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=16 ms
    64 bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=22 ms
    64 bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=26 ms
    64 bytes from 129.35.34.234: icmp_seq=5 ttl=255 time=27 ms
    64 bytes from 129.35.34.234: icmp_seq=6 ttl=255 time=30 ms
    64 bytes from 129.35.34.234: icmp_seq=7 ttl=255 time=31 ms
    64 bytes from 129.35.34.234: icmp_seq=8 ttl=255 time=33 ms
    64 bytes from 129.35.34.234: icmp_seq=9 ttl=255 time=35 ms
    64 bytes from 129.35.34.234: icmp_seq=10 ttl=255 time=36 ms
    64 bytes from 129.35.34.234: icmp_seq=11 ttl=255 time=6 ms
    64 bytes from 129.35.34.234: icmp_seq=12 ttl=255 time=6 ms
    64 bytes from 129.35.34.234: icmp_seq=13 ttl=255 time=6 ms
    64 bytes from 129.35.34.234: icmp_seq=14 ttl=255 time=7 ms
    64 bytes from 129.35.34.234: icmp_seq=15 ttl=255 time=6 ms
    ^C
    ----opus.austin.century.com PING Statistics----
    16 packets transmitted, 16 packets received, 0% packet loss
    round-trip min/avg/max = 6/19/36 ms
    注: 出力は、割り込み (Ctrl-C) を受信するまで繰り返されます。
  7. ネットワークのデータ依存問題を診断するには、以下のコマンドを入力する:
    ping -p ff opus
    このコマンドは、パッドパターンがすべて1のパケットをホスト opus に送る。 次の例に示すような出力が表示されます。
    PATTERN: 0xff
    PING opus.austin.century.com: (129.35.34.234): 56 data bytes
    64 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=6 ms
    64 bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=5 ms
    ^C
    ----opus.austin.century.com PING Statistics----
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 5/5/6 ms
    注: 出力は、割り込み (Ctrl-C) を受信するまで繰り返されます。
  8. 静かな出力を指定するには、以下のコマンドを入力する:
    ping  -q bach
    以下のサンプルのような概要情報が表示されます:
    PING bach.austin.century.com: (129.35.34.234): 56 data bytes
    ^C
    ----bach.austin.century.com PING Statistics----
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 5/5/8 ms
    注: 出力は、割り込み (Ctrl-C) を受信するまで繰り返されます。
  9. 特定のインターフェイス上でpingパケットを送受信するには、以下のコマンドを入力する:
    ping -E en1 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02
    次の例に示すような出力が表示されます。
    Using Source Address 2020:1234:5678:9122:2c6f:57ff:3e6b:58
    PING 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: (2020:1234:5678:9122:2c6f:57ff:fe6b:8b02): 56 data bytes
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=0 ttl=64 time=1.462 ms
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=1 ttl=64 time=0.917 ms
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=2 ttl=64 time=1.187 ms
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=3 ttl=64 time=1.105 ms
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=4 ttl=64 time=1.114 ms
    
    --- 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02 ping statistics ---
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 0/0/1 ms
  10. 変更の始め commodev2 として知られているホストpingサーバーのネットワーク接続をチェックし、レイテンシが浮動小数点精度でなければならないことを指定するには、以下のコマンドを入力する:
    ping -F commodev2
    次の例に示すような出力が表示されます。
    # ping -F commodev2
    PING commodev2.pok.stglabs.ibm.com: (9.114.250.236): 56 data bytes
    64 bytes from 9.114.250.236: icmp_seq=0 ttl=255 time=0.315 ms
    64 bytes from 9.114.250.236: icmp_seq=1 ttl=255 time=0.100 ms
    64 bytes from 9.114.250.236: icmp_seq=2 ttl=255 time=0.088 ms
    64 bytes from 9.114.250.236: icmp_seq=3 ttl=255 time=0.090 ms
    --- commodev2.pok.stglabs.ibm.com ping statistics ---
    4 packets transmitted, 4 packets received, 0% packet loss
    round-trip min/avg/max = 0.088/0.148/0.315 ms
    変更の終わり
  11. 変更の始めホスト commodev6 (pingサーバー)に送信するパケットの間隔を1000マイクロ秒に指定するには、以下のコマンドを入力する:
    • 次の例では、ホストpingサーバー commodev6 が4秒と2秒連続してダウンしている。

      # ping -ui 1000 commodev6
      PING commodev6.pok.stglabs.ibm.com: (9.114.248.17): 56 data bytes
      Packets from icmp_seq 1507 (time:14:20:09.283540) to 5464 (time:14:20:13.287128) missed
      Packets from icmp_seq 10415 (time:14:20:18.295048) to 12396 (time:14:20:20.299296) missed
      --- commodev6.pok.stglabs.ibm.com ping statistics ---
      19438 packets transmitted, 13497 packets received, 30% packet lost
      round-trip min/avg/max = 0.050/0.058/0.124 ms
    • 以下の例では、pingクライアントとpingサーバー間の距離が長いため、ping応答が遅れ、順番が狂ってしまう。

      # ping -ui 1000 aixbase.aus.stglabs.ibm.com
      PING aixbase.aus.stglabs.ibm.com: (9.3.199.113): 56 data bytes
      Packets from icmp_seq 179 (time:14:24:17.106403) to 181 (time:14:24:17.340580) missed
      icmp_seq=181 received out of order
      icmp_seq=179 received out of order
      icmp_seq=180 received out of order
      …
    • 以下の例では、 commodev6 pingサーバーから応答を受信していない。

      # ping -ui 1000 commodev6
      PING commodev6.pok.stglabs.ibm.com: (9.114.248.17): 56 data bytes
      --- commodev6.pok.stglabs.ibm.com ping statistics ---
      3609 packets transmitted, 0 packets received, 100% packet loss
    • 以下の例では、pingサーバーは常に稼働しており、すべてのpingリクエストに対する応答がpingクライアントに届いている。

      # ping -ui 1000 commodev6
      PING commodev6.pok.stglabs.ibm.com: (9.114.248.17): 56 data bytes
      
      --- commodev6.pok.stglabs.ibm.com ping statistics ---
      1989 packets transmitted, 1989 packets received, 0% packet loss
      round-trip min/avg/max = 0.050/0.056/0.322 ms
    変更の終わり