InfraAcademy

InfraAcademy Blog

pingコマンドの使い方とは?通信確認とエラーの原因を初心者向けに解説

| #ネットワーク #ITパスポート講座 #ネットワーク基礎講座
Linuxをブラウザで試してみる

Linux・ネットワーク・AWSを、環境構築なしで実践学習できます

こんにちは、インフラエンジニアのryuです。

今回の記事では、pingコマンドの使い方を、ネットワーク初心者向けにわかりやすく解説します。

パソコンやサーバーへ接続できないとき、最初の確認としてよく使われるのがpingです。しかし、実行結果を見ても、次のように迷うことがあります。

「Request timed outと表示されたけど、何が原因なの?」 「pingが通れば、WebサイトやSSHも必ず使えるの?」 「IPアドレスでは成功するのに、ホスト名では失敗するのはなぜ?」

pingは簡単なコマンドですが、結果を正しく読み取るには、IPアドレス、デフォルトゲートウェイ、DNSなどの知識も必要です。

この記事では、WindowsとLinuxでの実行方法から、通信できない場合の切り分け手順まで順番に解説します。

pingコマンドの使い方

pingは、指定した相手までIP通信が届くか確認するためのコマンドです。

基本的な書式は次のとおりです。

ping IPアドレスまたはホスト名

たとえば、IPアドレスが192.168.1.1のルーターへ通信確認する場合は、次のように実行します。

ping 192.168.1.1

ホスト名やドメイン名を指定することもできます。

ping example.com

IPアドレスを指定した場合は主にネットワークの到達性を確認できます。ホスト名を指定した場合は、DNSによる名前解決も含めて確認できます。

Windowsでpingを実行する

Windowsでは、コマンドプロンプト、PowerShell、Windows Terminalなどからpingを実行できます。

スタートメニューで「cmd」または「PowerShell」と検索し、ターミナルを開きます。

コマンドプロンプトを起動

続いて、確認したいIPアドレスを指定します。

ping 192.168.1.1

pingコマンドを実行

Windowsでは、標準で4回の応答確認を行います。

正常に通信できると、応答元のIPアドレス、応答時間、TTLなどが表示されます。最後には送信数、受信数、損失数、往復時間の統計も表示されます。

Packets: Sent = 4, Received = 4, Lost = 0

送信4、受信4、損失0であれば、4回とも応答が返ってきたことを意味します。

Linux・macOSでpingを実行する

LinuxやmacOSでも、ターミナルから同じように実行できます。

ping 192.168.1.1

Windowsと異なり、LinuxやmacOSでは停止するまで繰り返し送信される環境が一般的です。終了するときは、CtrlCを同時に押します。

送信回数を指定する場合は、-cオプションを使用します。

ping -c 4 192.168.1.1

4回送信した後、自動的に終了します。

pingとは?

pingは、IPネットワーク上で相手まで通信が届くかを確認するためのコマンドです。

内部では、主にICMPというプロトコルのEcho Requestを送信し、相手からEcho Replyが返るかを確認します。

pingで確認できる主な情報は次のとおりです。

  • 相手までIP通信が届くか
  • 応答が返るまでの時間
  • パケットロスが発生しているか
  • ホスト名をIPアドレスへ変換できるか
  • 応答パケットのTTL

ただし、pingが成功したからといって、すべてのサービスが正常とは限りません。

pingが成功していても、Webサーバーの80番・443番ポートやSSHの22番ポートが閉じていれば、そのサービスには接続できません。反対に、ファイアウォールでICMPだけを拒否している場合は、Webサイトを開けてもpingには応答しないことがあります。

pingは、通信トラブルを切り分けるための一つの確認方法だと理解しましょう。

pingの実行結果の見方

pingを実行すると、さまざまな情報が表示されます。

応答時間

time=10msのような表示は、データを送ってから応答が戻るまでの往復時間を表します。

数値が小さいほど応答は速いと考えられます。ただし、適切な値は接続先との距離や回線によって異なります。海外のサーバーは、同じLAN内のルーターより応答時間が長くなるのが一般的です。

パケットロス

送信したデータの一部に応答が返らない状態を、パケットロスと呼びます。

Sent = 4, Received = 3, Lost = 1

この場合は、4回中1回の応答が失われています。無線LANの電波状況、ネットワーク機器の負荷、回線障害などが考えられます。

TTL

TTLはTime To Liveの略で、パケットがネットワーク上を無限に巡回し続けることを防ぐための値です。

ルーターを1台通過するたびに値が減少し、0になるとパケットは破棄されます。

Windowsで使う主なpingオプション

Windowsで利用する主なオプションは次のとおりです。

オプション 内容
-t 停止するまで継続して送信する
-n 回数 送信回数を指定する
-w ミリ秒 応答を待つ時間を指定する
-l サイズ 送信するデータサイズを指定する
-4 IPv4を使用する
-6 IPv6を使用する

10回送信する場合は、次のように実行します。

ping -n 10 192.168.1.1

継続して確認する場合は、次のコマンドです。

ping -t 192.168.1.1

停止するときはCtrl + Cを押します。

Windowsで利用できるオプションは、次のコマンドで確認できます。

ping /?

Linuxでは、次のようにヘルプやマニュアルを確認します。

ping --help
man ping

pingでエラーが起きた場合の対処方法

「pingを実行したけど、応答が返ってこない……」

通信できないときは、次の順番でpingを実行します。

  1. ループバックアドレス
  2. 自分のIPアドレス
  3. デフォルトゲートウェイ
  4. 同じLAN内の端末
  5. インターネット上のIPアドレス
  6. ドメイン名

どの段階から失敗するかによって、原因を切り分けられます。

ループバックアドレスへpingする

最初に、自分自身を表すループバックアドレスへ実行します。

ping 127.0.0.1

ここで失敗する場合は、OSのTCP/IP機能や設定に問題がある可能性があります。

IPアドレスを確認する

次に、自分のパソコンへ正しいIPアドレスが設定されているか確認します。

Windowsでは、次のコマンドを実行します。

ipconfig

pingできない場合はipアドレスを確認する

Linuxでは次のコマンドを使用します。

ip address

Windowsで169.254から始まるIPアドレスが設定されている場合は、DHCPサーバーからIPv4アドレスを取得できていない可能性があります。

IPアドレスだけでなく、サブネットマスクやデフォルトゲートウェイも確認しましょう。

有線LANやWi-Fiの接続を確認する

IPアドレスが正しくても、LANケーブルが抜けていたり、Wi-Fiへ接続できていなかったりすると通信できません。

Windowsでは「ネットワーク接続の表示」から、利用しているアダプターの状態を確認できます。

pingできない場合は物理的にネットワークに接続できていない可能性がある

接続状態には、次のような違いがあります。

  • 有効・接続済み:アダプターを利用できる
  • 無効:アダプターが無効化されている
  • ネットワークケーブルが接続されていません:ケーブルや接続先に問題がある

ネットワークへの接続設定の確認

有線LANではケーブルやスイッチのポート、無線LANではSSID、パスワード、電波状況を確認しましょう。

デフォルトゲートウェイへpingする

異なるネットワークやインターネットへ通信するには、デフォルトゲートウェイが必要です。

たとえば、デフォルトゲートウェイが192.168.1.1の場合は次のように実行します。

ping 192.168.1.1

ここで失敗する場合は、自分のIPアドレスやサブネットマスク、LANケーブル、Wi-Fi、ルーターまでの接続を確認します。

IPアドレスでは成功するがホスト名では失敗する

インターネット上のIPアドレスにはpingできるのに、ドメイン名では失敗する場合は、DNSの問題が考えられます。

ping 1.1.1.1
ping example.com

1つ目は成功し、2つ目だけ失敗する場合は、DNSサーバーの設定や名前解決を確認します。

nslookup example.com

pingだけで判断しないことが重要

pingは便利ですが、通信トラブルのすべてを確認できるわけではありません。

Webサイトの確認ではcurl、TCPポートの確認ではTest-NetConnectionnc、経路の確認ではtracerttracerouteなども使います。

WindowsでSSHの22番ポートを確認する場合は、次のように実行できます。

Test-NetConnection 192.168.1.50 -Port 22

目的のサービスに合わせて確認方法を使い分けましょう。

pingを実際に使いながらネットワークを学ぶ

pingの操作自体は簡単ですが、エラーの原因を判断するにはネットワークの仕組みを理解する必要があります。

InfraAcademyのネットワーク入門講座では、IPアドレス、ルーティング、スイッチ、VLAN、NAT、ACLなどを、ブラウザ上のシミュレーターで実際に構築しながら学習できます。

複数の端末やルーターへIPアドレスを設定し、pingの成功・失敗を確認することで、同じネットワークと異なるネットワークの違いも理解しやすくなります。

Linux上でpingip addressssなどのコマンドを練習したい方は、Linux入門講座もおすすめです。また、VPCやサブネット、ルートテーブル、セキュリティグループを学びたい方は、AWS講座へ進むと、クラウド上の通信トラブルにも知識を活用できます。

pingコマンドの使い方まとめ

今回は、pingコマンドの使い方と、通信できない場合の確認方法を解説しました。

  • pingは、相手までIP通信が届くかを確認するコマンド
  • IPアドレスだけでなく、ホスト名も指定できる
  • Windowsでは標準で4回、Linuxでは停止するまで送信する環境が一般的
  • 応答時間、パケットロス、TTLなどを確認できる
  • pingが成功しても、WebやSSHなどのサービスが正常とは限らない
  • エラー時は、自分自身、ゲートウェイ、外部IP、ホスト名の順に確認する
  • IPアドレスでは成功し、ホスト名で失敗する場合はDNSを確認する

自分のパソコンからデフォルトゲートウェイへpingを実行してみましょう。

「どこまでは通信できて、どこから失敗しているのか」を考えることで、ネットワーク障害を切り分ける力が身につきます。

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る