Go to main content

マニュアルページ セクション 8: システム管理コマンド

印刷ビューの終了

更新: 2018年8月8日
 
 

ping(8)

名前

ping - ICMP (ICMP6) ECHO_REQUEST パケットをネットワーク上のホストに送信する

形式

/usr/sbin/ping host [timeout]
/usr/sbin/ping -s [-I interval] [-l | -U] [-abdLnrRv]
     [-A addr_family] [-c traffic_class] [-w deadline]
     [-g gateway [-g gateway...]] [-N next_hop_router]
     [-F flow_label] [-i interface] [-P tos] [-p port]
     [-t ttl] [-W timeout] host [data_size [npackets]]

説明

ping ユーティリティーは、ICMP (IPv6 では ICMP6) プロトコルの ECHO_REQUEST データグラムを利用して、指定されたホスト (host) またはネットワークゲートウェイ (gateway) から ICMP (ICMP6) ECHO_RESPONSE を引き出します。host が応答すると、ping は次のように表示します。

host is alive

この文字列を標準出力に書き出して終了します。そうでない場合は、タイムアウト (timeout) の秒数が経過すると、次の文字列を書き出します。

no answer from host

timeout のデフォルト値は 20 秒です。

s フラグを指定すると、1 秒ごと (間隔は –I で調整) に 1 つのデータグラムを送信し、ECHO_RESPONSE を受信するたびに 1 行を出力します。応答がないと、ping は出力を生成しません。2 番目の形式では、ping は往復時間とパケットロスの統計値を計算し、終了時またはタイムアウト発生時にこれらの情報のサマリーを表示します。デフォルトの data_size56 バイトです。data_size コマンド行引数でサイズを指定することもできます。省略可能な npackets を指定すると、pingnpackets 個の要求を送信するか、npackets 個の応答を受信するまで ping 要求を送信し続けます。

ping を障害分離のために使用する場合は、最初にローカルホストに対して ping を実行し、ローカルネットワークインタフェースが動作していることを確認してください。

オプション

サポートしているオプションは、次のとおりです。

–A addr_family

ターゲットホストのアドレスファミリを指定します。 addr_family には inet または inet6 を指定できます。アドレスファミリによって使用するプロトコルが決まります。引数が inet の場合は IPv4 を使用します。inet6 の場合は IPv6 を使用します。

デフォルトでは、IP アドレスではなくホストの名前が指定され、ネームサービスのデータベースに有効な IPv6 アドレスが存在する場合、ping はそのアドレスを使用します。それ以外の場合、ネームサービスのデータベースに IPv4 アドレスが含まれていれば、IPv4 アドレスを使用しようとします。

デフォルトの動作をオーバーライドするには、アドレスファミリとして inet または inet6 を指定します。指定した引数が inet の場合、ping はホスト名に関連付けられた IPv4 アドレスを使用します。アドレスが存在しない場合、ping はホストが不明であることを示して終了します。ネームサービスのデータベースに IPv6 アドレスが存在するかどうかは確認されません。

指定した引数が inet6 の場合、ping はホスト名に関連付けられた IPv6 アドレスを使用します。アドレスが存在しない場合、ping はホストが不明であることを示して終了します。

–F flow_label

プローブパケットのフローラベルを指定します。0 から 1048575 までの整数を指定する必要があります。このオプションは IPv6 でのみ有効です。

–D

フラグメントを無効にします。IPv4 の場合、これはフラグメント禁止 (DF) ビットを設定することを意味します。IPv4 および IPv6 の場合、これはデータグラムが送信されてもフラグメントを許可しないことを意味します。data_size が MTU を超えている場合、ping は、メッセージが長すぎるために送信が失敗したと報告することがあります。

–I interval

統計モードを有効にし、連続送信の間隔を指定します。デフォルトは 1 秒です。–s オプションの説明を参照してください。

–L

マルチキャストパケットのループバックを無効にします。通常、メンバーは送信インタフェース上のホストグループに属し、マルチキャストパケットのコピーがローカルマシンに配信されます。

–N next_hop_router

次のホップのルーターを指定して、プローブパケットがパスに沿って指定したルーターを経由してターゲットホストに到着するようにします。このオプションを使用すると、基本的にシステムのルーティングテーブルがバイパスされ、プローブパケットのヘッダーが変更されないままになります。指定できる次のホップのルーターは 1 つのみです。

–P tos

プローブパケットの Type of Service (tos) を指定された値に設定します。デフォルトは 0 です。0 から 255 までの整数を指定する必要があります。同じパス内のゲートウェイは、プローブパケットに設定された tos の値に応じてプローブパケットの経路を変更できます。このオプションは IPv4 でのみ有効です。

–R

経路を記録します。IPv4 の経路記録オプションが設定され、IPv4 ヘッダーの内部にパケットの経路が保存されます。経路記録の内容は、–v オプションと –s オプションを指定した場合にのみ出力されます。ターゲットホストが複数のエコー間で経路記録オプションを保持する場合や、–l オプションを指定した場合は、返送パケットのみに経路記録オプションが設定されます。このオプションは IPv4 でのみ有効です。

–U

ICMP (ICMP6) パケットの代わりに UDP パケットを送信します。ping は、ターゲットホストから ICMP (ICMP6) PORT_UNREACHABLE が返送されることを期待して、UDP パケットを各ポートに順に送信します。

–W timeout

ターゲットからの 1 つの応答を待機する秒数 (デフォルトは 10 秒) です。このオプションは –s または –I およびnpackets とともに使用される必要があり、そうでない場合は無視されます。このオプションによって、npackets の送信後にターゲットから応答がない場合のタイムアウトのみが影響を受けます。それ以外の場合は、ターゲットから少なくとも 1 つの応答があると、ping は残りのすべてのパケット用に 2 つの RTT を待機します。–w オプションが指定されている場合は、–W が無視されます。

–a

マルチホームの宛先のすべてのアドレス (IPv4 と IPv6 の両方) に対して ping を実行します。出力は、宛先の各 IP アドレスに対して 1 回ずつ ping を実行した場合と同じように表示されます。このオプションを –A と同時に指定すると、ping は指定されたアドレスファミリに含まれるアドレスだけを検索します。–s オプションとともに使用して npackets を指定しないと、ping は宛先アドレスをラウンドロビン方式で継続的に検索します。npackets を指定すると、ping は宛先の各 IP アドレスに npackets 個のプローブを送信して終了します。

–b

この接続でのみ大域 IPsec ポリシーをバイパスし、暗号化せずにパケットを送受信します。このオプションは、ネットワーク接続のトラブルシューティングを IPsec と切り離して行うために使用できます。このオプションでは、システム全体のポリシーがこの接続でバイパスされるため、使用できるのはスーパーユーザーまたは sys_net_config 特権が付与されたユーザーのみです。

–c traffic_class

プローブパケットのトラフィッククラスを指定します。0 から 255 までの整数を指定する必要があります。パス内のゲートウェイは、プローブパケットに設定された traffic_class の値に応じてプローブパケットの経路を変更できます。このオプションは IPv6 でのみ有効です。

–d

SO_DEBUG ソケットオプションを設定します。

–g gateway

ルーズソースルートゲートウェイを指定して、プローブパケットがパスに沿って指定したホストを経由してターゲットホストに到着するようにします。ゲートウェイの最大数は IPv4 で 8、IPv6 で 127 です。IPv6 のゲートウェイ数は、リンクの MTU などの要因によってさらに制限されることがあります。

–i interface_address

IPv4 のマルチキャストパケット、および IPv6 のマルチキャストパケットとユニキャストパケットの両方に使用する送信インタフェースアドレスを指定します。マルチキャストパケットのデフォルトのインタフェースアドレスは、(ユニキャストの) ルーティングテーブルから決定されます。interface_address には、リテラル IP アドレス (10.123.100.99 など)、インタフェース名 (eri0 など)、またはインタフェースインデックス (2 など) を指定できます。

–l

ルーズソースルーティングを使用して、指定したホストとの間でプローブパケットを送受信します。通常は –R オプションとともに使用します。–g を使ってゲートウェイを指定すると、それらのゲートウェイを 2 回ずつ (つまり、宛先への送信と宛先からの受信の両方向で) 経由します。–U オプションを指定すると、このオプションは無視されます。

–n

ネットワークアドレスを数字で表示します。通常、ping は受信したパケットから抽出した IP アドレスに対して名前の逆検索を実行します。–n オプションを指定すると、逆検索がブロックされるため、ping はホスト名ではなく IP アドレスを出力します。

–p port

プローブで使用されるベース UDP ポート番号を設定します。このオプションは –U オプションとともに使用します。デフォルトのベースポート番号は 33434 です。ping ユーティリティーは、このベースを起点にして UDP パケットの宛先ポート番号を設定し、プローブごとに 1 ずつ増分します。

–r

通常のルーティングテーブルをバイパスし、接続しているネットワーク上のホストに直接送信します。直接接続しているネットワーク上にホストがない場合は、エラーが返されます。このオプションを使用すると、ルーターデーモンによって削除されたインタフェースを介してローカルホストへの ping を実行できます。in.routed(8) を参照してください。

–s

1 秒に 1 つのデータグラムを送信して、統計情報を収集します。

–t ttl

ユニキャストパケットおよびマルチキャストパケットの IPv4 生存期間または IPv6 ホップ制限を指定します。ユニキャストパケットのデフォルトの生存期間 (ホップ制限) は、ipadm(8) set-prop サブコマンドで icmp_ipv4_ttl プロパティー (IPv4) および icmp_ipv6_hoplimit プロパティー (IPv6) を使って設定できます。マルチキャストパケットのデフォルトの生存期間 (ホップ制限) は 1 ホップです。「使用例」を参照してください。詳細については、ipadm(8) を参照してください。


注 - プロパティー名が「_」 (下線) で始まる場合があります。これらはプロトコルの非公開プロパティーであり、変更または削除される可能性があります。ipadm(8) を参照してください。
–v

詳細情報を出力します。ターゲットホストからの応答以外の、すべての ICMP (ICMP6) パケットを表示します。

–w deadline

送信または受信されたパケット数に関係なく、ping が終了するまでの期限を秒単位で指定します。ping では、npackets の送信後にもパケット送信が続行されます。期限の秒数が経過するか、npackets プローブが応答されるまで、またはネットワークからいくつかのエラーが通知されるまで待機します。このオプションは –s または –I とともに使用される必要があり、そうでない場合は無視されます。

オペランド

host

ネットワーク上のホスト

環境変数

MACHINE_THAT_GOES_PING が NULL 以外の値に設定されている場合、ping は、–s オプションが指定された場合と同じようにこれを処理します。これをスクリプトから使用するときは注意してください。

使用例 1 IPv6 で ping を使用する

この例では、ping を使ってホスト xyz のすべての IPv6 アドレスにプローブパケットを 1 つずつ送信します。ユーザーによる割り込みがあるまで 1 秒間隔で ICMP6 ECHO_REQUEST が送信されます。

istanbul% ping -s -A inet6 -a xyz
PING xyz: 56 data bytes
64 bytes from xyz (4::114:a00:20ff:ab3d:83ed): icmp_seq=0. time=0.479 ms
64 bytes from xyz (fec0::114:a00:20ff:ab3d:83ed): icmp_seq=1. time=0.843 ms
64 bytes from xyz (4::114:a00:20ff:ab3d:83ed): icmp_seq=2. time=0.516 ms
64 bytes from xyz (fec0::114:a00:20ff:ab3d:83ed): icmp_seq=3. time=4.943 ms
64 bytes from xyz (4::114:a00:20ff:ab3d:83ed): icmp_seq=4. time=0.485 ms
64 bytes from xyz (fec0::114:a00:20ff:ab3d:83ed): icmp_seq=5. time=2.201 ms
^C     
----xyz PING Statistics----     
6 packets transmitted, 6 packets received, 0% packet loss     
round-trip (ms)  min/avg/stddev = 0.479/1.583/4.943/1.823
使用例 2 ipadm を使用してホップ制限を設定する

次のコマンドは、ipadm(8) を使用して IPv4 および IPv6 ホップ制限を設定します。

# ipadm set-prop -p _ipv6_hoplimit=100 icmp
# ipadm set-prop -p _ipv4_ttl=100 icmp

終了ステータス

次の終了ステータスが返されます。

0

正常終了。マシンは稼働しています。

0 以外

エラーが発生しました。不正な形式の引数が指定されたか、マシンが稼働していませんでした。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
network/ping

関連項目

icmp(4P)icmp6(4P)attributes(7)ifconfig(8)in.routed(8)ipadm(8)ndd(8)、netstat(8)rpcinfo(8)、traceroute(8)