Linuxコマンド一覧

pingコマンド|相手に届いているかを確かめる

__ __ _ _____
\ \ / /__| |_|_ _|__ _ __ _ __ ___
\ \ /\ / / _ \ '_ \| |/ _ \ '__| '_ ` _ \
\ V V / __/ |_) | | __/ | | | | | |
\_/\_/ \___|_.__/|_|\___|_| |_| |_| |_
 
ping を試すためのサンドボックスです。実機のファイルには影響しません。
user@webterm:~/project$
 

ping は相手のホストに届くかどうかを確かめるコマンドです。`-c` で回数を決める書き方、出力の読み方、返ってこないときの切り分け方を、ブラウザ上のターミナルで打ちながら確認できます。

最終更新: 2026-09-11

書式

ping [-c 回数] ホスト

小さなパケットを送り、返ってくるかどうかを確かめます。

まず打ってみる

回数を決めて打つのが基本です。

$ ping -c 3 example.com
PING example.com (140.32.182.253) 56(84) bytes of data.
64 bytes from 140.32.182.253: icmp_seq=1 ttl=55 time=25.3 ms
64 bytes from 140.32.182.253: icmp_seq=2 ttl=55 time=22.6 ms
64 bytes from 140.32.182.253: icmp_seq=3 ttl=55 time=26.2 ms

--- example.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 22.647/24.713/26.172/1.502 ms

-c 3 は「3回送って終わる」という意味です。 付けないと止めるまで送り続けるので、まずはこの形で打つのが確実です。

出力の読み方

場所分かること
1行目の (140.32.182.253)名前がどの IP に解決されたか
icmp_seq何回目のパケットか。抜けていれば落ちている
time=25.3 ms往復にかかった時間
0% packet loss送った数のうち、返ってこなかった割合
rtt min/avg/max往復時間の最小・平均・最大

見るのはこの2つです。 packet loss が0%でなければ届いていない、time が普段より大きければ遅い。

IP アドレスで打つ

名前ではなくアドレスをそのまま渡せます。

$ ping -c 2 10.0.0.5
PING 10.0.0.5 (10.0.0.5) 56(84) bytes of data.
64 bytes from 10.0.0.5: icmp_seq=1 ttl=64 time=1.08 ms
64 bytes from 10.0.0.5: icmp_seq=2 ttl=64 time=1.31 ms

--- 10.0.0.5 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 1.076/1.194/1.312/0.118 ms

自分自身に届くかは localhost です。

$ ping -c 1 localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.060 ms

--- localhost ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.060/0.060/0.060/0.000 ms

名前が引けないとき

そもそも名前を IP に変換できないと、パケットを送る前に止まります。

$ ping nosuchname
ping: nosuchname: Name or service not known

これは通信の問題ではなく名前解決の問題です。 同じ相手に IP アドレスで ping が通るなら、DNS の設定を疑ってください。

実務での使いどころ

ping は、つながらないと言われたときの一段目に打つコマンドです。

場面打ち方
相手に届くか確かめるping -c 3 server.example.com
名前解決の問題か切り分ける名前で失敗 → ping -c 3 10.0.0.5 を試す
回線の遅さを見るping -c 10 8.8.8.8 して time の平均を見る
自分のネットワーク設定を確かめるping -c 1 localhost

届くと分かったら、次は curl でアプリの応答を確かめる。 この順で切り分けると、どこで止まっているかが早く分かります。

つまずきやすいところ

-c を付けないと止まりません。 既定では送り続けます。 Ctrl+C で止められますが、最初から -c 3 と書くほうが楽です。

ping が通らない=落ちている、ではありません。 ICMP を落とす設定のサーバーやクラウドは珍しくありません。 「ping は返らないが Web は動いている」は普通に起こります。

ping が通る=アプリが動いている、でもありません。 ping で分かるのは経路の話までです。 サービスが応えるかは curl、ログインできるかは ssh で確かめてください。

回数の指定は1以上です。

$ ping -c 0 example.com
ping: invalid argument: '0': out of range: 1 <= value <= 2147483647

手を動かして覚える

webterm.appこのサイト

learn.webterm.app別のサイト

>_WEBTERM LEARN

WebTerm Learn|1つのコマンドから、使える状態へ

コマンドは単体で覚えるより、実際の作業の流れの中で使うほうが身につきます。順番に積み上げていくコースがあります。

コースを見る

関連するコマンド

curl / ssh / scp / ip

よくある質問

ping が止まりません。
回数を指定しないと、止めるまで送り続けます。`Ctrl+C` で終了するか、`ping -c 3 ホスト` のように回数を決めて打ってください。
ping が通らないとサーバーは落ちていますか?
そうとは限りません。ping が使う ICMP を落とす設定のサーバーは多く、生きていても応答しません。サービスが動いているかは `curl` やポートへの接続で確かめてください。
ping は通るのにアプリにつながりません。
ping で分かるのは「ネットワークとして相手に届くか」までです。アプリが動いているか、そのポートが開いているかは別の話なので、`curl` や `ssh` で確かめます。
time の数字は何ですか?
往復にかかった時間(ミリ秒)です。同じ相手でこの値が急に大きくなっていれば、経路かサーバーが混んでいます。
名前解決だけを確かめたいときは?
名前で ping して失敗し、IP アドレスで ping して成功するなら、原因は DNS だと分かります。