記事にPRを含む場合があります

pingコマンドとは?ネットワークトラブルの解決に役立つ使い方を徹底解説!

テクノロジー
テクノロジー

「インターネットに繋がらない…」
「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)説明
-tCtrl+C を押すまでpingを続行します。
-n <回数>-c <回数>指定した回数だけpingを送信します。
-l <サイズ>-s <サイズ>送信するパケットのデータサイズを指定します (バイト単位)。デフォルトは32バイト (Windows) または56バイト (Mac/Linux) です。
-w <タイムアウト>-W <タイムアウト>各応答のタイムアウト時間をミリ秒で指定します。
-4-4IPv4 を強制的に使用します。
-6-6IPv6 を強制的に使用します。

使用例 (Windowsで10回pingを送信する場合):

ping -n 10 8.8.8.8

使用例 (Mac/Linuxでパケットサイズを100バイトにしてpingを送信する場合):

ping -s 100 8.8.8.8

これらのオプションを組み合わせることで、より詳細なネットワーク診断が可能になります。

pingが通らない!考えられる原因と対処法

pingコマンドを実行しても応答がない場合、いくつかの原因が考えられます。

  1. 相手先ホストの問題:
    • 相手のコンピューターやサーバーが起動していない、またはネットワークに接続されていない。
    • 相手のファイアウォールがping (ICMPパケット) をブロックしている。セキュリティ上の理由から、意図的にpingに応答しないように設定されているサーバーもあります。
  2. 自分のネットワーク環境の問題:
    • LANケーブルの接続不良: ケーブルが正しく接続されているか、断線していないか確認しましょう。
    • 無線LAN (Wi-Fi) の接続不良: Wi-Fiルーターとの接続が不安定な場合、pingが失敗することがあります。ルーターの再起動や、接続設定の見直しを試みましょう。
    • ルーターやモデムの問題: ルーターやモデムが正常に動作していない可能性があります。再起動してみましょう。
    • IPアドレス設定の誤り: DHCPサーバーから正しくIPアドレスが取得できていない、または手動設定したIPアドレスに誤りがある可能性があります。
    • ファイアウォール設定: 自分自身のコンピューターのファイアウォールが、外部へのICMPパケット送信をブロックしている可能性があります。
  3. 経路途中の問題:
    • 自分と相手先の間のネットワーク経路上にあるルーターなどで問題が発生している。この場合は、tracertコマンド (Windows) や tracerouteコマンド (Mac/Linux) を使うと、どこで通信が途絶えているのかを特定する手がかりになります。

トラブルシューティングの手順

pingが通らない場合は、以下の手順で原因を切り分けてみましょう。

  1. 自分自身にpingを打ってみる (ループバックアドレス):
    • ping 127.0.0.1 (または ping localhost) を実行します。
    • これで応答があれば、少なくとも自分のコンピューターのTCP/IPプロトコルスタックは正常に動作しています。応答がなければ、ネットワークアダプターのドライバや設定に問題がある可能性があります。
  2. デフォルトゲートウェイ (ルーター) にpingを打ってみる:
    • コマンドプロンプトやターミナルで ipconfig (Windows) や ifconfig / ip addr (Mac/Linux) を実行し、デフォルトゲートウェイのIPアドレスを調べます。
    • 調べたIPアドレスにpingを送信します。
    • これで応答があれば、家庭内LAN (または社内LAN) は正常に機能している可能性が高いです。応答がなければ、ルーターやLANケーブル、Wi-Fi接続に問題があると考えられます。
  3. インターネット上の既知のサーバーに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 のようなキーワードで指定する場合もあります)

まとめ

pingコマンドは、ネットワークのトラブルシューティングにおける基本的ながら非常に強力なツールです。この記事で解説した基本的な使い方やオプション、トラブルシューティングの手順を覚えておけば、いざという時にきっと役立つはずです。

ネットワークの調子が悪いと感じたら、まずはpingコマンドを試してみてください!

タイトルとURLをコピーしました