pingコマンドとは?ネットワーク疎通確認の仕組みと実務での活用
ネットワークの基本コマンド「ping」について、サーバー間の通信が届いているかを確認する仕組みとトラブルシューティングの初動対応を解説。
pingコマンドとは?
ping(ピングまたはピン)は、ネットワーク経由で相手のコンピューター(サーバーやルーター)に通信が物理的・論理的に届いているか(疎通確認)をテストするための最も基本的なコマンドです。
潜水艦のソナー探信音「Ping」が名前の由来と言われています。
どのような仕組みで動くのか
pingは「ICMP(Internet Control Message Protocol)」という特殊なプロトコルの「エコー要求(Echo Request)」というパケットを相手に投げつけます。相手が正常に稼働していれば「エコー応答(Echo Reply)」が返ってくるため、これにより「相手が生きていること」と「往復にかかった時間(応答速度)」がわかります。
どのような場面で使われるか
「Webサイトにアクセスできない!」「データベースに繋がらない!」といったネットワーク障害の連絡を受けた際、インフラエンジニアが真っ先にターミナルで叩くコマンドです。
実務での活用とトラブルシューティング
障害発生時、pingの結果によって問題の切り分けを行います。
ping 8.8.8.8(GoogleのDNSなど外部のIP) を叩く これで応答がなければ、そもそもあなたのパソコン(または属しているネットワーク)自体がインターネットに繋がっていません。ping ec2-server-ipを叩いて応答がない場合 これでサーバーが落ちていると断定するのは早計です。AWSなどのクラウド環境では、セキュリティグループ(ファイアウォール)の設定で「ICMP(pingの通信)」自体を意図的に遮断しているケースが非常に多いからです(pingに応答しない = セキュアという考え方)。
実路上の注意点 (ping vs curl / telnet)
pingはあくまで「ネットワークの線が繋がっているか」を確認するだけであり、そのサーバー上でWebサーバー(Nginx等)やデータベース(MySQL等)のアプリケーションが正常に動いているかどうかまでは分かりません。
ネットワークレベルではなく、アプリケーションレベルで特定のポート(例: 80番ポートや3306番ポート)が空いていて応答できるかを確認したい場合は、pingではなく curl や nc (netcat) コマンドを使用します。
LinuxとWindowsでの挙動の違い
- Windowsのコマンドプロンプト: デフォルトで4回だけ送信して自動終了します。
- Linux/Macのターミナル:
Ctrl + Cで強制終了するまで無限に送信し続けます。回数を指定したい場合はping -c 4 8.8.8.8のように-c(count) オプションを使用します。
まとめ
pingコマンドは、ネットワーク障害切り分けの「第一歩」です。
ただし、クラウド全盛の現代においてはファイアウォールでブロックされていることも多いため、「pingが通らない=サーバー障害だ」とテンプレ回答をせず、状況を複合的に判断する思考が必要です。
関連する用語 (linux)
全12件を見るgit stash コマンドの使い方(作業の一時避難)
コミットせずに今の作業を一時保存できる `git stash` コマンドの使い方(保存・復元・一覧・削除)を実務ベースで解説します。
chmodコマンドとは?Linuxの権限(パーミッション)変更を分かりやすく解説
Linuxの必須コマンド「chmod」について、777や644といった数字の意味から、実務でよく使う権限設定の定石まで徹底解説します。
tailコマンドとは?リアルタイムなログ監視の実務テクニックを解説
ファイルの末尾を表示する「tail」コマンドについて、-fオプションを使ったリアルタイムなログ監視やエラー調査の基本を解説します。
sshコマンドとは?公開鍵認証の仕組みと安全なサーバー接続の実務
Linuxの遠隔操作に必須の「ssh」コマンドについて、公開鍵・秘密鍵を使った安全な接続方法(公開鍵認証)や実務でのポート指定などを解説します。
curlコマンドとは?Web APIのテストやHTTP・JSON通信の実践例
URLを叩いて様々なリクエストを送信できる「curl」コマンドについて、REST APIのテスト(GET/POST)やヘッダー確認などの実務での使い方を解説。
Cannot connect to the Docker daemon の原因と解決策
Dockerコマンド実行時に「Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?」と表示されるエラーの直し方を解説します。