Solaris のシステム管理 (第 3 巻)

ping コマンド

ping コマンドは、特定のホストとの IP 接続が存在しているかどうかを確認するために使用します。基本構文は次のとおりです。


/usr/sbin/ping host [timeout]

host は問題のマシンのホスト名を示します。オプションの timeout 引数は、ping がそのマシンに到達しようと試みる秒数を示し、デフォルトは 20 秒です。詳しい構文とオプションについては、ping(1M) のマニュアルページを参照してください。

ping を実行すると、ICMP プロトコルは、指定されたホストにデータグラムを送って、応答を求めます (ICMP は、TCP/IP ネットワーク上のエラー処理を担当するプロトコルです。詳細は、「ICMP プロトコル」を参照してください)。

ping コマンドで行う作業マップ

表 6-6 ping コマンドで行う作業マップ

作業 

説明 

参照先 

ホストが動作しているか確認する 

ホスト名に対して ping を実行する

「ネットワークデータベースと nsswitch.conf ファイル」

ホストでパケットが失われていないか確認する 

ping コマンドの -s オプションを使用する

「ネットワークデータベースへのネームサービスの影響」

ホストが動作しているか確認する方法

    コマンド行で次のコマンドを入力します。


    % ping hostname
    

    ホスト hostname が動作していれば、次のメッセージが表示されます。


    hostname is alive

    これは、hostname が ICMP の要求に応答したことを示します。hostname がダウン状態にあるかまたは ICMP パケットを受け取れなかった場合は、ping から次の応答が返されます。


    no answer from hostname
    

ホストでパケットが失われていないか確認する方法

マシンが動作状態にあるのにパケットが失われている疑いがある場合は、ping-s オプションを指定することにより、問題を追求できます。

    コマンド行で次のように入力します。


    % ping -s hostname
    

ping は、ユーザーが割り込み文字を送るかタイムアウトが発生するまで、hostname にパケットを送り続けます。画面上には、次のように出力されます。


PING elvis: 56 data bytes
64 bytes from 129.144.50.21: icmp_seq=0. time=80. ms
64 bytes from 129.144.50.21: icmp_seq=1. time=0. ms
64 bytes from 129.144.50.21: icmp_seq=2. time=0. ms
64 bytes from 129.144.50.21: icmp_seq=3. time=0. ms
.
.
.
----elvis PING Statistics----
4 packets transmitted, 4 packets received, 0% packet loss
round-trip (ms) min/avg/max = 0/20/80   

パケットロスの統計値は、ホストがパケットを失ったかどうかを示します。

ping が失敗した場合は、ifconfignetstat が報告するネットワーク状態を調べます。これについては、ifconfig コマンド」netstat コマンド」を参照してくだい。