(最終更新月:2023年4月)
✔このような方へ向けて書かれた記事となります
「PINGコマンドについて知りたい」
「PINGコマンドって実際は何ができるの?」
「PINGコマンドの実例があるならいろいろと見てみたい」
✔当記事を通じてお伝えすること
- PINGコマンドとは?
- PINGコマンドでできること
- PINGコマンドの実例
当記事では、PINGコマンドについての基本はもちろん、PINGコマンドのオプション一覧やそのできることまで実例付きで解説しています。
ぜひ最後までご覧ください。
PINGについての基礎知識5選
PINGコマンドについて、最低限知っておくべきことを解説していきます。
具体的な使い方だけでなく、基本を理解しておけば、トラブル時などにも対応できるようになるでしょう。
- PINGの定義
- PINGの仕組み|どのように機能するか
- ICMPプロトコルについての簡単な説明
- PINGが果たす主な役割
- PINGを使うことで得られる利点
PINGの定義
PINGは、インターネット・コントロール・メッセージ・プロトコル(ICMP)を用いて、コンピュータ同士が通信できるかどうかを調べるためのツール。
ネットワークにあるデバイス同士の接続性や通信遅延を測定できます。
指定された宛先(IPアドレスまたはドメイン名)にパケットを送信し、それらのパケットを受信することにで以下を確認できます。
- その宛先に到達できるかどうか
- 到達時間
- 到達できなかった場合はエラーメッセージが表示
$ ping 192.168.11.31
PING 192.168.11.31 (192.168.11.31) 56(84) バイトのデータ
--- 192.168.11.31 ping 統計 ---
送信パケット数 6, 受信パケット数 0, パケット損失 100%, 時間 5103ミリ秒
PINGがどのように機能するかの概要
PINGコマンドは、送信元デバイスから宛先デバイスに向けて、ICMP Echo Requestメッセージを送信します。
宛先デバイスは、このメッセージに応答するためにICMP Echo Replyメッセージを送信。
PINGコマンドで、この応答時間を測定するために送信元デバイスに戻ってくるICMP Echo Replyメッセージを受信します。
この応答時間を報告することで、送信元デバイスが宛先デバイスに到達できるかどうかを判断できます。
ICMPプロトコルについての簡単な説明
インターネット・コントロール・メッセージ・プロトコル(ICMP)は、TCP/IPネットワークプロトコルスイートの一部で、IPネットワーク上で以下のようなエラーや通知を伝達するためのプロトコルです。
- エラーメッセージ
- ステータスメッセージ
- リクエスト/応答メッセージ
ICMPは、インターネット上で通信をするネットワーク機器(ルーター、スイッチ、ファイアウォールなど)が正常に動作しているかどうかを確認するために、ネットワーク管理者によって広く使用されています。
ネットワーク上のパケットロスや遅延といった問題を検出し、トラブルシューティングをおこなうためにも使用されます。
PINGが果たす主な役割
PINGの主な役割は、ネットワーク接続の確認や通信遅延時間の測定です。
ネットワークのトラブルシューティングが可能になります。
具体的には以下のようなことが可能です。
- ホストの可用性を確認:特定のIPアドレスまたはホスト名に対してICMP ECHOリクエストを送信し、ICMP ECHO応答が返されたかどうかを確認
- ネットワークの遅延を測定:PINGコマンドは、ICMP ECHOリクエストを送信して、ホストに到達するまでにかかった時間を測定し、応答が返されるまでにかかった時間を測定
- ネットワークの問題をトラブルシューティング:PINGコマンドは、ホストが到達できない場合や、遅延が非常に高い場合に、ネットワークに何らかの問題があることを示す
- DNSの問題を特定する:PINGコマンドは、ホスト名を指定してICMP ECHOリクエストを送信できるため、DNSサーバーに問題がある場合、正しいIPアドレスを取得できない
- パケットロスを特定する:送受信で旨くイカない場合にパケットロスが発生していることを示す
PINGを使うことで得られる利点
PINGを利用することで、リアルタイムで通信状況を確認でき、ネットワークの安定性やパフォーマンスを維持できます。
上の役割以外には、以下のようなメリットもあります。
- ネットワークトポロジの確認:PINGは、ネットワーク上のデバイスやルーターのトポロジを確認
- デバイスの障害診断:PINGは、ネットワーク上の問題を特定するために使用
PINGの使い方
PINGの使い方を具体的に見ていきましょう。
こちらの内容さえおさえれれば、最低限使えるようになります。
- Windows、Mac、LinuxでのPINGコマンドの使い方の紹介
- コマンドラインでの操作方法と結果の読み方
Windows、Mac、LinuxでのPINGコマンドの使い方の紹介
Windows、Mac、LinuxのいずれのOSでも、コマンドラインからPINGコマンドを実行することができます。
Windowsではコマンドプロンプト、MacとLinuxではターミナルで以下を入力。
ping [対象のIPアドレスまたはドメイン名]
入力後は、Enterキーを押すことでPINGを実行できます。
コマンドラインでの操作方法と結果の読み方
PINGコマンドを実行すると、以下のような情報が表示されます。
- パケットの送信先IPアドレス:PINGコマンドで指定したホストやIPアドレスに対する応答を確認
- パケットサイズ:PINGコマンドで送信するパケットのサイズが表示(デフォルトは56バイト)
- TTL値:TTL(Time To Live)とは、IPパケットがネットワーク上で転送されるときに減少する値で、ネットワーク上でパケットが永遠にループするのを防ぐ(デフォルトは64のTTL値が設定)
- 実行時間:送信から受信までの時間(往復時間:RTT: Round-Trip Time)を測定
- 応答の状態:コマンドの実行結果として、目的のIPアドレスが応答するか否かが表示
PINGコマンドは通常無限に応答を待ち続けるため、Ctrl+Cなどのキー操作で停止させます。
$ ping 192.168.11.1
PING 192.168.11.1 (192.168.11.1) 56(84) バイトのデータ
64 バイト応答 送信元 192.168.11.1: icmp_seq=1 ttl=64 時間=1.97ミリ秒
64 バイト応答 送信元 192.168.11.1: icmp_seq=2 ttl=64 時間=1.77ミリ秒
64 バイト応答 送信元 192.168.11.1: icmp_seq=3 ttl=64 時間=1.92ミリ秒
--- 192.168.11.1 ping 統計 ---
送信パケット数 3, 受信パケット数 3, パケット損失 0%, 時間 2002ミリ秒
rtt 最小/平均/最大/mdev = 1.771/1.885/1.970/0.084ミリ秒
よく使われるオプション一覧
PINGのオプションを以下のとおりまとめました。
オプションを使うと、通常では表示されない内容も表示できます。
オプション名 | 概要 | 例 |
-t | Windowsで連続PINGを実行する | ping -t 8.8.8.8 |
-n [回数] | Windowsで指定回数だけPINGを実行する | ping -n 5 8.8.8.8 |
-l [サイズ] | Windowsで送信するパケットのサイズを指定する | ping -l 1000 8.8.8.8 |
-w [時間] | Windowsでタイムアウト時間を指定する(ms) | ping -w 3000 8.8.8.8 |
-4 | WindowsでIPv4を使用する | ping -4 www.example.com |
-6 | WindowsでIPv6を使用する | ping -6 www.example.com |
-c [回数] | Mac/Linuxで指定回数だけPINGを実行する | ping -c 5 8.8.8.8 |
-i [秒数] | Mac/Linuxで送信間隔を指定する(秒) | ping -i 2 8.8.8.8 |
-s [サイズ] | Mac/Linuxで送信するパケットのサイズを指定する(バイト) | ping -s 1000 8.8.8.8 |
-W [時間] | Mac/Linuxでタイムアウト時間を指定する(秒) | ping -W 3 8.8.8.8 |
-4 | Mac/LinuxでIPv4を使用する | ping -4 www.example.com |
-6 | Mac/LinuxでIPv6を使用する | ping -6 www.example.com |
PINGを用いたトラブルシューティング
PINGを使ったトラブルシューティングの具体例をご覧いただきます。
事前に理解しておけば、ネットワーク系のトラブルを回避できる可能性が高まるでしょう。
- ネットワーク接続が失敗した際のPINGを使ったトラブルシューティング方法
- PINGが失敗した場合の対処法
- ネットワークトラブルの原因が特定できたときにやること
ネットワーク接続が失敗した際のPINGを使ったトラブルシューティング方法
ネットワーク接続が失敗した場合は、ローカルネットワーク内の他のデバイスやルーター、外部のサーバー(例えば、8.8.8.8)に対してPINGを実行し、問題の範囲を特定しましょう。
ネットワーク問題の原因を見つけやすくなります。
具体的には以下の手順でおこなうと良いでしょう。
- コマンドプロンプトやターミナルを開き、pingコマンドを入力
- ピンを送信するために、宛先IPアドレスまたはドメイン名を指定
- PINGコマンドが実行された後、宛先に到達できた場合は、返答が確認できる
PINGが失敗した場合の対処法
PINGが失敗した場合、まずは接続先のIPアドレスやドメイン名が正しいか確認しましょう。
次に、ファイアウォールやセキュリティソフトウェアがPINGを遮断していないか確認してください。
とくに問題が見つからない場合は、pingコマンドで中継点ごとにパケットの送信と受信をテストをおこなって、原因を特定していきます。
- ローカルネットワークの問題を確認:IPアドレスが正しいか、DHCPサーバからのIPアドレス取得に失敗していないか、DNSサーバに正しくアクセスできているか確認
- ネットワーク上の中継点を確認:PINGの先にあるネットワークデバイスを一つずつPINGコマンドで確認し、正常に応答が返ってくるまで続ける
- 問題が特定された場合は、適切な修復措置を講じます
修復措置としては、デバイスの再起動、LANケーブルの交換、ネットワーク設定の再構成など、問題に応じて異なります。
ネットワークトラブルの原因が特定できたときにやること
ネットワークの原因がはっきりとしたら、以下のように対処します。
原因別にまとめたので、参考にしてください。
現象 | 対処法 | 問題の可能性 |
---|---|---|
パケットロスが発生している | ISPに連絡して回線の状態を確認 | ネットワーク回線の問題 |
応答時間が長い | ネットワーク帯域幅の増強、混雑を解消 | ネットワーク帯域幅の不足や混雑 |
目的のホストが到達不能 | ホストの正常稼働確認、IPアドレスの確認、ファイアウォールの設定確認 | ホストの問題、IPアドレスの誤り、ファイアウォールによるブロック |
ファイアウォールによるブロック | ファイアウォールの設定を確認してPINGを許可 | ファイアウォールの設定 |
ネットワーク機器による問題 | 機器の設定を確認し、必要に応じて修正 | ルータ、スイッチ、アクセスポイントなどの設定 |
PINGに関連するツール
PINGに関連するツールとして、以下のようなものもあります。
- fping:PINGよりも高速に複数のホストに対してPINGを送信できるツール
- hping:より高度なPINGを実行できるツールで、TCP、UDP、ICMPなどのプロトコルをサポート
- mtr:PINGとトレースルートの機能を併せ持ったツールで、ネットワークのパフォーマンスと状態を監視
- smokeping:PINGを定期的に実行し、ネットワークの遅延とパケットロスを監視することができるツール
- pingplotter:PINGの結果をグラフィカルに表示して、ネットワークのトラブルシューティングを支援することができるツール
上記に以外にも、ネットワーク診断でつかえるコマンドなども活用できます。
まとめ:PINGを活用して、ネットワーク管理のプロになろう
当記事の内容をまとめます。
- PINGによりネットワークトラブルの診断が可能になる
- PINGとは、ネットワーク上でパケットの送受信をおこなうツール
- PINGのオプションを使えば、さまざまな診断が可能
PINGは、ネットワーク接続の確認や通信遅延の測定を行う重要なツールであり、トラブルシューティングにも役立ちます。
今後、ネットワークに関する問題が発生した際には、ぜひPINGを活用して問題解決に役立ててください。