「インターネットに繋がらない…」
「Webサイトが表示されない…」
そんな経験はありませんか?ネットワークのトラブルは、現代の私たちにとって非常に身近な問題です。そんな時、原因究明の第一歩として役立つのが「pingコマンド」です。
この記事では、ネットワークの基本ツールであるpingコマンドについて、初心者にも分かりやすく解説します。
pingコマンドの基本的な使い方から、知っておくと便利なオプション、さらには実行結果の見方やトラブルシューティングまで、網羅的にご紹介します。
pingコマンドの基本

pingコマンドとは、特定のコンピューターやサーバー(IPアドレスやドメイン名で指定)に対して、ネットワーク上で「応答があるか」「どのくらいの速さで応答が返ってくるか」を確認するためのコマンドです。
例えるなら、相手にボールを投げ、それが返ってくるかどうかを確認するようなものです。ネットワークの世界では、この「ボール」の役割をICMP(Internet Control Message Protocol)というプロトコルが担っています。
pingコマンドで何がわかるの?
pingコマンドを実行すると、主に以下の情報が得られます。
- 相手先との疎通確認: 相手のコンピューターやサーバーがネットワーク上で活動しているか、通信できる状態かを確認できます。
- 応答時間 (RTT: Round Trip Time): 送信したパケットが相手先に到達し、応答が返ってくるまでの時間です。この時間が短いほど、通信が速いと言えます。
- パケットロス: 送信したパケットのうち、途中で失われてしまったパケットの割合です。パケットロスが多いと、通信が不安定であることを示します。
pingコマンドの使い方 (Windows・Mac・Linux共通)

pingコマンドは、Windowsのコマンドプロンプト、MacやLinuxのターミナルから簡単に実行できます。
基本的な書式は以下の通りです。
ping [オプション] <IPアドレスまたはドメイン名>
実行例:
Googleの公開DNSサーバー (8.8.8.8) にpingを送信する場合
ping 8.8.8.8
Yahoo! JAPAN (www.yahoo.co.jp) にpingを送信する場合
ping www.yahoo.co.jp
実行結果の見方
pingコマンドを実行すると、以下のような情報が表示されます(OSによって多少表示が異なります)。
- 送信先: pingを送信した相手のIPアドレスまたはドメイン名。
- バイト数 (Bytes): 送信したデータのサイズ。
- 時間 (Time): 応答時間 (RTT)。単位はミリ秒 (ms) です。
- TTL (Time To Live): パケットがネットワーク上で生存できる時間(経由できるルーターの数)。
Windowsの実行結果例:
C:\>ping 8.8.8.8
8.8.8.8 に ping を送信しています 32 バイトのデータ:
8.8.8.8 からの応答: バイト数 =32 時間 =10ms TTL=58
8.8.8.8 からの応答: バイト数 =32 時間 =12ms TTL=58
8.8.8.8 からの応答: バイト数 =32 時間 =11ms TTL=58
8.8.8.8 からの応答: バイト数 =32 時間 =10ms TTL=58
8.8.8.8 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 10ms、最大 = 12ms、平均 = 10ms
MacやLinuxの実行結果例:
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=58 time=10.5 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=58 time=12.1 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=58 time=11.2 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=58 time=10.8 ms
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 10.500/11.150/12.100/0.638 ms
成功している場合は、上記のように「応答あり」や「受信」といったメッセージと共に、応答時間などが表示されます。
失敗している場合は、「要求がタイムアウトしました。(Request timed out.)」や「宛先ホストに到達できません。(Destination host unreachable.)」といったメッセージが表示されます。
知っておくと便利なpingコマンドのオプション
pingコマンドには、より詳細な情報を得たり、テスト方法を調整したりするためのオプションがあります。代表的なものをいくつかご紹介します。
オプション (Windows) | オプション (Mac/Linux) | 説明 |
---|---|---|
-t | Ctrl+C を押すまでpingを続行します。 | |
-n <回数> | -c <回数> | 指定した回数だけpingを送信します。 |
-l <サイズ> | -s <サイズ> | 送信するパケットのデータサイズを指定します (バイト単位)。デフォルトは32バイト (Windows) または56バイト (Mac/Linux) です。 |
-w <タイムアウト> | -W <タイムアウト> | 各応答のタイムアウト時間をミリ秒で指定します。 |
-4 | -4 | IPv4 を強制的に使用します。 |
-6 | -6 | IPv6 を強制的に使用します。 |
使用例 (Windowsで10回pingを送信する場合):
ping -n 10 8.8.8.8
使用例 (Mac/Linuxでパケットサイズを100バイトにしてpingを送信する場合):
ping -s 100 8.8.8.8
これらのオプションを組み合わせることで、より詳細なネットワーク診断が可能になります。
pingが通らない!考えられる原因と対処法
pingコマンドを実行しても応答がない場合、いくつかの原因が考えられます。
- 相手先ホストの問題:
- 相手のコンピューターやサーバーが起動していない、またはネットワークに接続されていない。
- 相手のファイアウォールがping (ICMPパケット) をブロックしている。セキュリティ上の理由から、意図的にpingに応答しないように設定されているサーバーもあります。
- 自分のネットワーク環境の問題:
- LANケーブルの接続不良: ケーブルが正しく接続されているか、断線していないか確認しましょう。
- 無線LAN (Wi-Fi) の接続不良: Wi-Fiルーターとの接続が不安定な場合、pingが失敗することがあります。ルーターの再起動や、接続設定の見直しを試みましょう。
- ルーターやモデムの問題: ルーターやモデムが正常に動作していない可能性があります。再起動してみましょう。
- IPアドレス設定の誤り: DHCPサーバーから正しくIPアドレスが取得できていない、または手動設定したIPアドレスに誤りがある可能性があります。
- ファイアウォール設定: 自分自身のコンピューターのファイアウォールが、外部へのICMPパケット送信をブロックしている可能性があります。
- 経路途中の問題:
- 自分と相手先の間のネットワーク経路上にあるルーターなどで問題が発生している。この場合は、tracertコマンド (Windows) や tracerouteコマンド (Mac/Linux) を使うと、どこで通信が途絶えているのかを特定する手がかりになります。
トラブルシューティングの手順
pingが通らない場合は、以下の手順で原因を切り分けてみましょう。
- 自分自身にpingを打ってみる (ループバックアドレス):
ping 127.0.0.1
(またはping localhost
) を実行します。- これで応答があれば、少なくとも自分のコンピューターのTCP/IPプロトコルスタックは正常に動作しています。応答がなければ、ネットワークアダプターのドライバや設定に問題がある可能性があります。
- デフォルトゲートウェイ (ルーター) にpingを打ってみる:
- コマンドプロンプトやターミナルで
ipconfig
(Windows) やifconfig
/ip addr
(Mac/Linux) を実行し、デフォルトゲートウェイのIPアドレスを調べます。 - 調べたIPアドレスにpingを送信します。
- これで応答があれば、家庭内LAN (または社内LAN) は正常に機能している可能性が高いです。応答がなければ、ルーターやLANケーブル、Wi-Fi接続に問題があると考えられます。
- コマンドプロンプトやターミナルで
- インターネット上の既知のサーバーにpingを打ってみる:
ping 8.8.8.8
(Google Public DNS) やping www.yahoo.co.jp
などを実行します。- これで応答があれば、インターネットへの接続は確立されています。特定のWebサイトに繋がらない場合は、そのWebサイト側の問題か、DNSサーバーの問題である可能性があります。
- デフォルトゲートウェイにはpingが通るのに、インターネット上のサーバーにpingが通らない場合は、ルーターの設定やプロバイダ側の障害などが考えられます。
pingコマンドの応用的な使い方
pingコマンドは、単純な疎通確認以外にも、以下のような応用的な使い方ができます。
- ネットワークの遅延調査: 定期的にpingを実行し、応答時間の変化を監視することで、ネットワークが混雑している時間帯などを把握できます。
- DNSサーバーの応答確認:
ping <DNSサーバーのIPアドレス>
を実行することで、DNSサーバーが正常に応答するか確認できます。名前解決がうまくいかない場合の原因究明に役立ちます。 - MTUサイズの調査:
-l
(Windows) や-s
(Mac/Linux) オプションでパケットサイズを徐々に大きくしていき、どのサイズでpingが通らなくなるかを確認することで、ネットワーク経路上のMTU (Maximum Transmission Unit) を推測できます。- Windows:
ping -f -l <サイズ> <宛先IPアドレス>
(-f
はフラグメント化しないオプション) - Mac/Linux:
ping -D -s <サイズ> <宛先IPアドレス>
(-D
はフラグメント化しないオプション。OSによってはdontfrag
のようなキーワードで指定する場合もあります)
- Windows:
まとめ
pingコマンドは、ネットワークのトラブルシューティングにおける基本的ながら非常に強力なツールです。この記事で解説した基本的な使い方やオプション、トラブルシューティングの手順を覚えておけば、いざという時にきっと役立つはずです。
ネットワークの調子が悪いと感じたら、まずはpingコマンドを試してみてください!