本文へスキップ
BecomeCoder

ネットワークコース · 第3章 つながりを確かめる · レッスン11

ping ― 相手に届くか確かめる

ブラウザで完結

導入

「サーバーにつながらない」——そんなとき最初に打つのが ping です。相手のホストへ小さなデータを送り、返ってくるかどうかで 通信が届いているかTCP/IP のインターネット層が生きているか)を確かめます。ネットワーク調査のいちばん最初の一手です。

説明

ping ホスト名 で疎通を確認します。本物の ping は止めるまで送り続けるので、回数を決める -c(count)を付けるのが実用的です。

ping -c 4 becomecoder

各行の time=...ms往復にかかった時間(応答の速さ)です。小さいほど速く、返事が来ていれば「届いている」と分かります。最後の統計行では、送った数・返ってきた数・packet loss(届かなかった割合)が出ます。0.0% packet loss なら健全です。

IP アドレスを直接指定することもできます。自分自身(localhost)に届くかは、こう確かめます。

ping -c 2 127.0.0.1

存在しない名前に打つと、ping は「名前を解決できない(住所が分からない)」と教えてくれます。これは次のレッスンの DNS の話につながります。

ping -c 2 example.com

返事が返らない(packet loss が高い)ときは、相手が落ちている・経路が切れている・ファイアウォールで弾かれている、などが疑われます。ping は「どこまで届くか」の切り分けに使う道具です。レッスン24で学んだ通り、「まず ping(下の層)が通るか→次に curl(上の層)」の順で調べます。

やってみよう

ping -c 4 becomecoder を打って、4回分の応答と最後の統計(0.0% packet loss)が出ることを確認しましょう。ping -c 2 127.0.0.1 で自分自身にも届くこと、-c の数字を変えると応答の行数が変わることも試してください。

演習

becomecoder に対して 3回だけ ping を送ってください。

ヒント1を見る

回数の指定は -c(count)です。

ヒント2を見る

ping -c 3 becomecoder

実際に動かしてみよう

本文のサンプルや演習のコードは、コードブロック右上の「コピー」ボタンでコピーして、下のエディタに貼り付ければそのまま実行できます。

Linux シェル(シミュレート)

ブラウザ内でコマンドを試せる仮想シェルを読み込みます(本物のLinuxカーネルではなく学習用の再現です)。
スクロールして表示された時点でも自動で読み込まれます。