はじめに

pingコマンドは、ネットワークにおいて最も一般的で便利なツールの1つです。接続性をテストしたり、遅延を測定したり、あるデバイスと別のデバイス間のパケットロスを検出したりするのに使われる。その動作は、OSIモデルのネットワーク層で動作するインターネット制御メッセージプロトコル(ICMP)に基づいています。

ユーザーがコマンドを実行すると、コンピューターはICMPエコー要求パケットをターゲットホストに送信する。このパケットにはタイムスタンプとシーケンス番号が含まれている。ターゲットデバイスが到達可能であれば、ICMPエコー応答パケットで応答する。リクエストが送信された時刻と、リプライが受信された時刻を比較することで、プログラムは、レイテンシとしても知られるラウンドトリップタイムを計算します。このプロセスの間、pingはパケットのサイズ、シーケンス番号、残りのホップ数を示すtime-to-live値、測定された応答時間などの詳細情報を表示します。実行が終了すると、コマンドは、送受信されたパケット数、パケットロスの割合、平均待ち時間を報告して結果を要約します。

オペレーティングシステムのネットワークスタックはこのプロセスで重要な役割を果たす。ICMPリクエストはカーネルのIPレイヤーに渡され、そこでIPパケットにカプセル化されてネットワーク上に送信される。リプライが届くと、カーネルはそれをユーザー空間のpingプロセスに送り返す。その後、プログラムは応答を解釈し、平均ラウンドトリップタイムやパケットロスなどの統計情報を計算し、人間が読める形式で結果を表示する。

なぜPingコマンドがないのか?

Ubuntuで pingコマンドが利用できない原因はいくつか考えられます:

  1. 最小限のインストール– 「最小限のインストール」オプションを使用してUbuntuをインストールした場合、pingのような必須のネットワークツールがデフォルトで含まれていない可能性があります。
  2. インストールの破損または不完全– システムのアップグレードやパッケージの削除によって、誤ってpingがアンインストールされた可能性があります。
  3. パーミッションの問題– 不適切なパーミッションによって、特定のシステム・ユーティリティへのアクセスが制限されている場合があります。

UbuntuにPingをインストールする方法

pingコマンドは、Ubuntuのiputils-pingパッケージによって提供されています。インストールするには、以下の手順に従ってください。

ステップ1:パッケージリストを更新する

ソフトウェアをインストールする前に、システムのパッケージリストを更新して、利用可能なパッケージの最新バージョンを入手することをお勧めします:

sudo apt update

ステップ2: iputils-pingをインストールする

pingコマンドを含むパッケージをインストールします:

sudo apt install iputils-ping -y 
  • sudo:管理者(root)権限でコマンドを実行します。
  • apt install:Debian/Ubuntuベースのシステムで)APTパッケージマネージャーを使ってソフトウェアをインストールします。
  • iputils-ping:インストールされる特定のパッケージ。ホストにICMPエコー要求を送信してネットワークの接続性をテストするのに使われるpingユーティリティを提供する。
  • y:y: インストール中のすべてのプロンプトに自動的に「yes」と答え、確認を求めることなくプロセスを実行する。

このコマンドは、依存関係とともにiputils-ping をダウンロードしてインストールします。

ステップ3: インストールの確認

インストールが完了したら、pingが利用可能になったことを確認してください:

ping -V
すべてのパッケージが正常にインストールされていれば、以下のように表示されるはずです:

Pingをインストールする別の方法

デフォルトの方法でうまくいかない場合は、次のような方法もあります:

1.スナップを使ってインストールする(該当する場合)

一部の最小Ubuntuディストリビューションには、デフォルトでaptが含まれていません。Snapがインストールされている場合は、以下の方法でpingをインストールできます:

sudo snap install iputils

2.BusyBoxを使用する

BusyBoxは、pingを含む様々なUnixユーティリティを含む軽量な代替ツールです。インストールしてください:

sudo apt install busybox

次に、以下を実行する:

busybox ping google.com

これでBusyBox経由でpingが利用できることが確認できます。

よくあるエラーと対処法

1.”Ping: Permission Denied”

パーミッションエラーが表示される場合は、セキュリティ上の制限が原因である可能性があります。実行してみてください:

sudo chmod u+s /bin/ping

これにより、非rootユーザーがpingを使用できるように、正しいパーミッションが設定されます。

2.”パッケージが見つかりません”

Ubuntuでiputils-pingパッケージが見つからない場合は、リポジトリのソースが更新されていることを確認してください:

sudo apt update && sudo apt upgrade

問題が解決しない場合は、/etc/apt/sources.list のソースリストを確認してください。

Pingコマンドを使うタイミング

1.インターネット接続の確認

ping google.com
  • 理由あなたのコンピューターがグーグルのサーバーに到達できるかどうかを確認するため。
  • 返信があれば、インターネット接続が機能していることがわかります。

2.ローカルデバイスへの接続テスト

ping 192.168.1.1
  • 理由ルーターまたはゲートウェイがローカルネットワークに到達可能かどうかを確認するため。
  • Wi-FiやLANのトラブルシューティングに便利です。

3.待ち時間(応答時間)の測定

ping avahost.com
  • 理由データパケットがホストまで往復するのにかかる時間をチェックするため。
  • レイテンシーが低い=接続が速い(ゲームやビデオ通話などで重要)。

4.パケットロスの検出

ping -c 5 avahost.com
  • 理由リクエストを20回送信し、失われたパケットの統計を表示する。
  • パケットロスが見られる場合は、接続が悪いか不安定であることを示しています。