Ping (ピン、ピング) とは?ネットワークの確認テストコマンド、ICMPはポート指定 (Windows, Linux) できない

スポンサーリンク
ITで知っておくべき知識

ネットワークの到達確認を行うpingについて、さまざまな疑問を調べてみました。

 

Pingとは?コマンドの意味

Ping(ピン、ピング)はTCP/IPネットワークにおいて、ノードの到達性を確認するためのソフトウェアです。

Pingは、Packet InterNet Groperの略です。

Ping は、ICMP(Internet Control Message Protocol)のechoコマンドを利用して、指定した相手先(IPアドレスまたはホスト名)に文字列を送り、その戻りの有無によりネットワークの接続が確認できます。

IPネットワークにおける基本的なツールの一つであり、IPが実装されている環境のほとんどにおいて用意されています。

 

物理的なネットワーク構築を行った後、本当にソフトウェア的に到達するかを確認するテストの際によく使われます。

 

Pingコマンドの使い方、オプション

Pingコマンドの使用方法、オプションは次の通りです。

 

使用法:
ping
[-t] [-a] [-n 要求数] [-l サイズ] [-f] [-i TTL] [-v TOS] [-r ホップ数] [-s ホップ数] [[-j ホスト一覧] | [-k ホスト一覧]] [-w タイムアウト] [-R] [-S ソースアドレス] [-4] [-6] ターゲット名

 

オプション:
-t
中断されるまで、指定されたホストを Ping します。
統計を表示して続行するには、Ctrl+Break を押してください。
停止するには、Ctrl+C を押してください。

-a
アドレスをホスト名に解決します。

-n
要求数 送信するエコー要求の数です。

-l
サイズ 送信バッファーのサイズです。

-f
パケット内の Don’t Fragment フラグを設定します (IPv4 のみ)。

-i
TTL Time To Live です。

-v
TOS Type Of Service (IPv4 のみ。この設定はもう使用されておらず、IP ヘッダー内のサービス フィールドの種類に影響しません)。

-r
ホップ数 指定したホップ数のルートを記録します (IPv4 のみ)。

-s
ホップ数 指定したホップ数のタイムスタンプを表示します (IPv4 のみ)。

-j
ホスト一覧 一覧で指定された緩やかなソース ルートを使用します
(IPv4 のみ)。

-k
ホスト一覧 一覧で指定された厳密なソース ルートを使用します
(IPv4 のみ)。

-w
タイムアウト
応答を待つタイムアウトの時間 (ミリ秒) です。

-R
ルーティング ヘッダーを使用して逆ルートもテストします
(IPv6 のみ)。

-S
ソースアドレス
使用するソース アドレスです。

-4
IPv4 の使用を強制します。

-6
IPv6 の使用を強制します。

 

Pingのテスト方法、確認例

Pingのテスト方法、確認例は次の通りです。

 

IPアドレス 192.168.10.105と接続が成功する例

C:\Users\test>ping 192.168.10.105

192.168.10.105 に ping を送信しています 32 バイトのデータ:
192.168.10.105 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.10.105 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.10.105 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.10.105 からの応答: バイト数 =32 時間 <1ms TTL=128

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

 

IPアドレス 192.168.10.106と接続が失敗する例

C:\Users\test>ping 192.168.10.106

192.168.10.106 に ping を送信しています 32 バイトのデータ:
192.168.10.105 からの応答: 宛先ホストに到達できません。
192.168.10.105 からの応答: 宛先ホストに到達できません。
192.168.10.105 からの応答: 宛先ホストに到達できません。
192.168.10.105 からの応答: 宛先ホストに到達できません。

192.168.10.106 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、

 

Pingではポート番号を指定できない

通信プロトコルについて考えてみましょう。

 

TCP/IPのプロトコルの階層モデル、ポート番号 (SNAとOSI参照モデルとの違い、覚え方)
現在はパソコンもスマホも、インターネットに接続して使うのが一般的ですね。 ただ、20年以上前は、スタンドアローンでパソコンを使うのが一般的で、会社内でLAN(ローカルエリアネットワーク)を使ってパソコン同士を接続するのが普通の...

 

OSI参照モデルを下から数えましょう。

データリンク層がL2

ネットワーク層がL3

トランスポート層がL4

です。

 

Pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2とL3の両方にまたがるプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できれば L3通信、できなければ、ゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点で L2通信です。

つまり、PingはOSIのネットワーク層までしか確認できません。

 

ポート番号は L4 で使用されるアドレスですから、L4 機能の疎通確認は、Pingを含むICMPではできません。

 

結果として、先のPingのオプションに、ポート番号の指定がないわけです。

 

拡張 Ping ポート 指定

通常のPingでは、ポート番号を指定できません。

しかし、Windowsでは、PsPing というポート番号を指定可能な Ping がマイクロソフトより提供されています。

 

↓PsPing のダウンロードはコチラ

PsPing - Windows Sysinternals
Measure network performance.

 

PsPing <destination:destport>

のように、単純にポート番号を指定可能です。

 

PsPingの使用例

C:\>psping 192.168.2.2:5000

 

コメント