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 戦略を選択
- do: ローカルフラグメントであっても、IP フラグメンテーションを禁止
- want: Path MTU Discovery を実行し、必要に応じてローカルでフラグメント
- dont: IP パケットの DF フラグを設定しない
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 参照モデル | |||
---|---|---|---|