【Linux 入門】ping コマンドとは?使い方や見方を解説

pingping とは、ネットワーク上の相手と通信できるか確認できるコマンドです。
ping example.com

本記事では、ping のオプションの使い方や見方を解説します。

ネットワークのコマンド
スポンサーリンク

ping の使い方

ping <送信先の IP アドレス> or <ドメイン名> で相手と通信できるか確認できます。

インターネットに繋がっているか確認するために、google.com と通信してみます。

ドメイン名 (ホスト名) で ping

ping google.com
PING google.com (172.217.31.142): 56 data bytes
64 bytes from 172.217.31.142: icmp_seq=0 ttl=116 time=4.946 ms
64 bytes from 172.217.31.142: icmp_seq=1 ttl=116 time=3.901 ms

google.com (172.217.31.142) と通信に成功し、約4ms後に応答があることがわかります。

IP アドレスで ping

ping はドメイン名の代わりに IP アドレスを指定しても OK です。

ping 172.217.31.142
PING 172.217.31.142 (172.217.31.142): 56 data bytes
64 bytes from 172.217.31.142: icmp_seq=0 ttl=116 time=4.613 ms
64 bytes from 172.217.31.142: icmp_seq=1 ttl=116 time=4.223 ms
スポンサーリンク

ping のオプション

ここでは、よく使うオプションを紹介します。

-c ping の回数

ping google.com -c 2
PING google.com (172.217.31.142): 56 data bytes
64 bytes from 172.217.31.142: icmp_seq=0 ttl=116 time=4.946 ms
64 bytes from 172.217.31.142: icmp_seq=1 ttl=116 time=3.901 ms

2回応答を受け取ると終了します。

-i ping の間隔

ping google.com -i 3
PING google.com (172.217.31.142): 56 data bytes
64 bytes from 172.217.31.142: icmp_seq=0 ttl=116 time=4.946 ms
64 bytes from 172.217.31.142: icmp_seq=1 ttl=116 time=3.901 ms

3秒ごとに通信可能か確認します。

-I 送信元の NIC を指定

ping google.com -I eth0
PING google.com (172.217.31.142) from 192.0.2.1 eth0: 56 data bytes
64 bytes from 172.217.31.142: icmp_seq=0 ttl=116 time=4.946 ms
64 bytes from 172.217.31.142: icmp_seq=1 ttl=116 time=3.901 ms

eth0 から ping を送信します。

-s パケットサイズを指定

ping example.com -s 2000
PING example.com (93.184.216.34) 2000(2028) bytes of data.
From 93.184.216.34 (93.184.216.34) icmp_seq=1 Frag needed and DF set (mtu = 1500)

MTU の検証をするために利用できます。

-M Path MTU Discovery 戦略を選択

ping example.com -M do -s 2000
PING example.com (93.184.216.34) 2000(2028) bytes of data.
ping: local error: Message too long, mtu=1500
スポンサーリンク

ping の仕組み

ping は ICMP プロトコルの Echo と Echo Reply を利用します。

Echo Reply (Type 0) が返ってくると、通信ができると判断します。

補足:ping のポート番号

ping にポート番号という概念はありません。

ping で利用する ICMP プロトコルは、インターネット層で動作します。

ポート番号はトランスポート層の概念であるため、ping にポート番号はありません。

通信に失敗する場合

ping google.com
PING google.com (172.217.31.142): 56 data bytes

google.com (172.217.31.142) から何も応答がありません。

よくある原因は以下の3つです。

関連記事

学習ロードマップ
ネットワークのコマンド
OSI 参照モデル