pingとtracerouteは、ネットワークの到達性や経路を調べるための基本的な確認コマンドです。ただし、Webアプリが正常に動くかを直接保証するものではありません。
一言でいうと
pingは相手に届くか、tracerouteは相手までの途中経路をざっくり確認するための道具です。
pingが見ていること
pingは、多くの環境でICMP Echo Requestという通信を送り、相手から返事があるかを確認します。
ping example.com
返事があれば、少なくともその名前解決やIP到達の一部は成功しています。ただし、HTTPやHTTPSの成功までは確認していません。
pingでわかること
| わかること | 補足 |
|---|---|
| 名前解決できるか | ドメイン指定時はDNSも関係します |
| IPへ届く可能性があるか | ICMPが許可されている場合 |
| 応答時間の目安 | ミリ秒で表示されます |
| パケットロスの有無 | 一部のパケットが返らない場合があります |
pingでわからないこと
| わからないこと | 理由 |
|---|---|
| Webサーバーが正常か | HTTPリクエストを送っていません |
| 443番ポートが開いているか | ICMPとTCP 443は別です |
| アプリが正常か | アプリケーション層を確認していません |
| ping拒否中か障害か | ICMPを止めているだけの場合があります |
tracerouteが見ていること
tracerouteは、宛先までに通るルーターの経路を推測するコマンドです。
macOS/Linuxでは次を使います。
traceroute example.com
Windowsでは次を使います。
tracert example.com
途中の機器が応答しない場合、* が表示されることがあります。これは必ずしも障害ではありません。
よくある使い分け
| 確認したいこと | 使うもの |
|---|---|
| 相手へ届くか | ping |
| 途中経路を見る | traceroute / tracert |
| DNSを確認する | nslookup / dig |
| HTTP応答を見る | curl -I |
Webの不調確認では、pingだけで終わらず、DNSとHTTPの確認まで分けて見ることが重要です。
よくある誤解
| 誤解 | 実際 |
|---|---|
| pingが通ればWebサイトも正常 | HTTPやTLSは別途確認が必要です |
| pingが通らなければ必ず障害 | ICMPだけ拒否している場合があります |
tracerouteの*は必ず問題 | 途中機器が応答しないだけのことがあります |
| 応答時間が少し大きいと危険 | 距離や経路、回線状況で変わります |
まとめ
pingは到達性、tracerouteは経路の確認に役立ちます。ただし、Webアプリの動作確認にはDNS、TCP、TLS、HTTPも関係します。ネットワーク不調では、確認したい層に合った道具を使い分けます。