目次
pingコマンドとは
pingコマンドは、特定のPCやサーバとの間で通信できるかどうかを確認するために利用します。ネットワークのトラブルの原因を調べるために、非常によく使われる確認コマンドです。
pingコマンドの仕組みはとてもシンプルです。pingコマンドを実行すると、指定された通信相手に何らかのデータ(Windowsではアルファベットの羅列)をそっくりそのまま返すように要求します。これをICMPエコーリクエストと呼んでいます。ICMPエコーリクエストを受け取った通信相手は、返事としてデータをそっくりそのまま返します。これはICMPエコーリプライです。ICMPエコーリプライが返ってくると、通信相手との間で往復のデータのやり取りが出来るということが確認できます。
また、pingコマンドで往復のデータのやり取りにかかる目安の時間もわかります。往復のデータのやり取りに要する時間を「応答時間」や「ラウンドトリップ時間(Round Trip Time RTT)」と呼んでいます。俗に「Ping値」と表現することもあります。

Widows OSでのpingコマンド
pingコマンドは、コマンドプロンプトで実行します。pingコマンドの構文は以下のとおりです。
C:\>ping <IPアドレスまたはホスト名>
ホスト名を指定すると、DNSサーバに問い合わせてホスト名に対するIPアドレスを自動的に取得し、そのIPアドレスへICMPエコーリクエストを送信します。
以下のように、指定したIPアドレスから応答(ICMPエコーリプライ)が返ってくると、正常に通信ができるということがわかります。通信確認に加えて、pingコマンドで応答時間の目安もわかるので簡単なネットワークのパフォーマンス計測にもなります。

pingコマンドを実行する際にいろんなオプションを指定することができます。pingコマンドの主なオプションは以下のとおりです。
pingコマンドのオプション | 意味 |
---|---|
-t | 継続的にpingコマンドを実行する。停止するときには、CTRL+Cを入力する |
-l サイズ | pingコマンドを実行したときに送信するデータサイズを指定する |
-w 時間 | 応答を待つ時間をミリ秒単位で指定する |
-n 数 | Pingコマンドを実行したときにデータを送信する回数を指定する |
pingコマンドで通信相手から正常に応答が返ってこない場合は、通信相手との間のどこかで問題があります。pingコマンドが失敗する場合、単純にタイムアウトする場合もあれば、通信相手以外からの応答が返ってくる場合もあるので注意してください。通信相手以外からの応答は、データを送り届けることができなかったというエラーの報告です。たとえば、次の図でping 10.10.10.10とコマンドを実行すると、応答が返ってきています。しかし、これは指定した10.10.10.10からの応答ではありません。「10.10.10.10へのデータを転送することができなかった」ということを途中の219.103.128.145がpingコマンドを実行した送信元へ報告しています。

なお、pingコマンドが失敗したからといって必ずしもネットワークにトラブルがあるとは限りません。悪意を持ったユーザがpingコマンドで利用するICMPを悪用して、ネットワークや特定のサーバを攻撃することがあります。そのような攻撃を防止するために、セキュリティソフトやファイアウォールなどでpingコマンドに対して応答を返さないようにしている場合もあります。また、pingコマンドが失敗するときに、IPアドレスの指定を間違っていることもよくあります。pingコマンドを実行するときには、IPアドレスの指定を間違わないように気をつけてください。
TCP/IP
- TCP/IPの階層
- IP(Internet Protocol) ~データを送り届ける~
- ICMP ~きちんとIPで転送できますか?~
- Ping ~きちんとデータは届きますか?~
- Windows OSのPingコマンド
- トレースルート ~データはどのルータを通っていますか?~
- tracertコマンド(Windows OS)
- ICMPリダイレクト
- トラブルはどこ? ~Pingとトレースルート~
- ARP ~IPアドレスとMACアドレスを対応付け~
- ARPフォーマット
- Gratuitous ARP(GARP)
- ポート番号 ~どのアプリケーションのデータなの?
- TCPの概要
- TCPの動作
- UDPの概要
- アプリケーションのデータが届くまでのまとめ
- DNS ~宛先IPアドレスを求める~
- nslookupコマンド ~DNSの名前解決の確認~
- DHCP ~IPアドレスを自動割り当て~
- Cisco IOS DHCPサーバの設定と確認コマンド
- Ciscoルータ DHCPサーバの設定例
- DHCPリレーエージェント
- DHCPリレーエージェントの設定例[Cisco]
- TCP/IPの設定のまとめ
- ipconfigコマンド ~Windows OSのTCP/IP設定を確認~
- Linux(Ubuntu)でのTCP/IP設定の確認
- Webサイト
- HTMLとCSS ~Webページを作る~
- URL ~Webサイト(Webページ)のアドレス~
- HTTP ~HTMLファイルを転送する~
- Webアプリケーション ~Webブラウザだけあればいい~
- HTTP Cookie
- Webアプリケーションのセッション管理
- Webプロキシサーバ ~Webアクセスを代わりに~
- Webアクセスのまとめ
- 電子メール
- SMTP ~電子メール送信用プロトコル~
- POP3 ~メール受信用プロトコル~
- IMAP4 ~メールサーバ上でメールを管理~
- 電子メールのまとめ
- FTP ~代表的なファイル転送プロトコル~
- TFTP ~簡易的なファイル転送プロトコル~
- Windows10のTFTPクライアント
- ネットワークのトラブルの切り分け手順