ping

pingは、対象のホストまたはIPアドレス対して32バイトのIPパケットを送り、そのパケットが正しく届いて返答が行われるかの疎通確認を行うためのコマンド。
ICMP(Internet Control Message Protocol)のechoコマンドを用いており、ホスト間のネットワーク疎通確認や障害に応じて、さまざまなステータスを確認することができる。

C:¥> ping [-オプション] [ホスト名 or IPアドレス]

option

-t 無限にパケットを送信し続ける。「ctrl」+「c」で停止。
-a IPアドレスをホスト名に変換して表示
-n <数> 送信するパケット回数を指定(デフォルトは4)
-l <数> 送信するパケットのサイズをバイト単位で指定(最大65500)
-f IPパケットの分割を禁る(IPv4のみ)
-i パケットのTTL(生存時間)を指定(最大255)
-v パケットのサービスタイプを指定(IPv4のみ)
-r <数> IPパケットのオプション部に経由したルータのアドレスを記録(最大9個:IPv4のみ)
-s <数> IPパケットのオプション部に経由したルータのアドレスと時間を記録する(最大4個:IPv4のみ)
-j <ホストリスト> 経由するルータのアドレスを指定する。(最大9個:IPv4のみ)ただし、指定されていないルータも経由できる(ルーズソースルーティング)
-k <ホストリスト> 経由するルータのアドレスを指定する。(最大9個:IPv4のみ)ただし、指定されていないルータは経由しない(ストリクトソースルーティング)
-w <時間> タイムアウトの時間をミリ秒(1/1,000)単位で指定する(デフォルトでは1,000/1秒)
-S <ソースアドレス> 使用するソースアドレス(IPv6のみ)

memo

TTL=値によるping対象先のOS推定。

Reply from 192.168.0.1: bytes=32 time<5ms TTL=128

「128」=Windows

Reply from 192.168.0.2: bytes=32 time<5ms TTL=64

「64」=OS X、Linux

Reply from 192.168.0.3: bytes=32 time<5ms TTL=255

「255」=Unix、Sokaris

example of use

C:¥> ping 200.x.x.x

200.x.x.x に ping を送信しています 32 バイトのデータ:
200.x.x.x からの応答: バイト数 =32 時間 =109ms TTL=64
200.x.x.x からの応答: バイト数 =32 時間 =105ms TTL=64
200.x.x.x からの応答: バイト数 =32 時間 =115ms TTL=64
200.x.x.x からの応答: バイト数 =32 時間 =116ms TTL=64

200.x.x.x の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 105ms、最大 = 116ms、平均 = 111ms

対象「200.x.x.x」までの疎通確認を行った表示例。

Request time out(要求がタイムアウトしました)

対象ホストと通信できない状態。
対象のホストが停止、もしくはwindowsファイアフォールの設定によりICMPをブロック、または経路途中のルータなどがセキュリティによりICMP通信を制限の可能性がある。この場合、通信できないのはICMPだけで、TCP/IPの通信は問題が無い可能性がある。

Reply from 192.168.0.254:Destination net unreachable(宛先ネットワークに到達できません)

pingが失敗、対象ネットワークに到達できない状態。
「192.168.0.254」は経路途中にあるルータのIPアドレスを示しており、このルータの時点でルーティングが不可であるためエラーを返している。 このルータまでは疎通可能、その先のネットワークにはパケット転送できていないことが確認できる。

Reply from 192.168.0.254:Destination host unreachable(宛先ホストに到達できません)

pingが失敗、宛先のネットワークに到達はしているが対象ホストに到達できない状態。または、ルーティングが見つけられない状態。

Reply from 192.168.0.254:TTL expired in transit(転送中にTTLが期限切れになりました)

TTLの超過により途中でパケットが破棄された状態。
途中のルータのルーティング設定ミスによるループに陥っている可能性があり、サブネットマスクやデフォルトゲートウェイの設定ミスが原因の可能性がある。
標準では最大の255が設定されているが、-iオプションでTTL数を小さくしているとエラーが表示される。