ping
コマンドは、ネットワーク接続の問題のトラブルシューティング、テスト、および診断に最もよく使用されるツールの1つです。
pingは、1つ以上のICMP(インターネット制御メッセージプロトコル)エコー要求パッケージをネットワーク上の指定された宛先IPに送信し、応答を待つことによって機能します。宛先がパッケージを受信すると、ICMPエコー応答で応答します。
ping
を使用 コマンドを使用すると、リモート宛先IPがアクティブか非アクティブかを判別できます。また、宛先との通信におけるラウンドトリップ遅延を見つけて、パケット損失があるかどうかを確認することもできます。
ping
iputils
の一部です (またはiputils-ping
)パッケージ。ほぼすべてのLinuxディストリビューションにプリインストールされています。 Windows、macOS、FreeBSDでも利用できます。
Pingコマンドの使用方法#
pingコマンドの構文は次のとおりです。
ping [OPTIONS] DESTINATION
わかりやすく説明するために、pingコマンドがどのように機能するかをgoogle.com
にpingしてみましょう。 :
ping google.com
出力は次のようになります:
PING google.com (172.217.22.206) 56(84) bytes of data.
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=1 ttl=53 time=40.2 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=2 ttl=53 time=41.8 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=3 ttl=53 time=47.4 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=4 ttl=53 time=41.4 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7ms
rtt min/avg/max/mdev = 40.163/42.700/47.408/2.790 ms
ping
コマンドはドメイン名をIPアドレスに解決し、宛先IPへのICMPパッケージの送信を開始します。宛先IPに到達可能である場合、IPは応答し、pingコマンドは次のフィールドを含む行を出力します。
- データバイト数。デフォルトは56で、これは64ICMPデータバイトに変換されます-
64 bytes
。 - 宛先のIPアドレス-
from muc11s01-in-f14.1e100.net (172.217.22.206)
。 - 各パケットのICMPシーケンス番号。
icmp_seq=1
。 - 存続時間。 -
ttl=53
-TTLはどのように機能しますか?。 - パケットがホストに到達するためのラウンドトリップ時間であるミリ秒単位で測定されるping時間、および送信者に戻るための応答。 -
time=41.4 ms
。
デフォルトでは、新しいパケットを送信する間隔は1秒です。
ping
コマンドは、割り込みを受信するまで、ICMPパッケージを宛先IPアドレスに送信し続けます。コマンドを停止するには、Ctrl+C
を押すだけです。 キーの組み合わせ。
コマンドが停止すると、パケット損失の割合を含む統計が表示されます。パケット損失は、データがネットワークのどこかにドロップされたことを意味し、ネットワーク内の問題を示します。パケット損失がある場合は、traceroute
を使用できます パケット損失が発生する場所を特定するコマンド。
ping
の場合 は応答を返しません。これは、ネットワーク通信が確立されていないことを意味します。これが発生した場合、必ずしも宛先IPがアクティブでないことを意味するわけではありません。一部のホストには、ICMPトラフィックをブロックしているファイアウォールがあるか、ping要求に応答しないように設定されている場合があります。
成功すると、ping
コマンドはコード0
で終了します 。それ以外の場合は、コード1
で終了します または2
。これは、ping
を使用するときに役立ちます。 シェルスクリプトのユーティリティ。
次のセクションでは、最も一般的に使用されるping
について説明します。 コマンドオプション。
パケット数を指定してください#
すでに述べたように、デフォルトでは、ping
割り込み信号を受信するまで、ICMPパッケージを送信し続けます。 pingが終了する後に送信されるEchoRequestパッケージの数を指定するには、-c
を使用します。 オプションの後にパッケージの数が続く:
ping -c 1 DESTINATION
たとえば、linuxize.com
にpingを実行します。 一度だけ使用します:
ping -c 1 linuxize.com
ソースインターフェース番号を指定してください#
ping
のデフォルトの動作 コマンドは、デフォルトルートを介してICMPパッケージを送信することです。マシンに複数のインターフェースがある場合は、-I
を使用してソースインターフェースを指定できます。 オプション:
ping -I INTERFACE_NAME DESTINATION
次のコマンドは、linuxize.com
にpingを実行します em2
を使用する ソースインターフェイスとして:
ping -I em2 linuxize.com
ping
を実行するとき コマンドを実行すると、マシンのDNS設定に応じてIPv4またはIPv6のいずれかが使用されます。
ping
を強制するには IPv4を使用するには、-4
を渡します オプション、またはそのエイリアスping4
を使用します :
ping -4 DESTINATION
IPv6の場合、-6
を渡します オプションまたはping6
を使用します :
ping -6 DESTINATION
結論#
ping
は、ネットワーク上の特定のホストのIPレベルの接続をテストできるコマンドラインネットワークユーティリティです。
ping
で使用可能なすべてのオプションを表示するには コマンド、「man ping
」と入力します ターミナルで。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。