概要
ネットワーク不調は、「つながらない」という一言に見えても、DNS、経路、ポート、HTTP、TLS、アプリなど原因が分かれます。
このチートシートでは、初心者が最初に見るべき確認順だけを扱います。高度なパケット解析や本番障害対応の詳細手順は対象外です。
最初の確認順
| 順番 | 確認すること | 使うもの |
|---|
| 1 | 自分の端末がネットワークに接続しているか | Wi-Fi表示、IP確認 |
| 2 | IPアドレスが取れているか | ipconfig, ip addr |
| 3 | DNSで名前解決できるか | nslookup, dig |
| 4 | 宛先へ届く可能性があるか | ping |
| 5 | HTTP応答があるか | curl -I |
| 6 | 詳細な接続ログを見る | curl -v |
| 7 | ブラウザ側を見る | DevTools Network |
| 8 | サーバーログを見る | アプリログ、Webサーバーログ |
症状別チェック
| 症状 | 最初に見る場所 | よくある原因 |
|---|
| ドメインだけ開けない | DNS | DNS設定、レコード、キャッシュ |
| IP直打ちなら開ける | DNS | 名前解決の問題 |
connection refused | ポート、アプリ起動 | サーバー未起動、ポート違い |
timeout | 経路、FW | ファイアウォール、経路、サーバー無応答 |
404 | HTTPルーティング | URLパス、APIルート、静的ファイル |
502 | リバースプロキシ | バックエンド停止、 upstream 設定 |
SSL certificate エラー | TLS証明書 | 期限切れ、ドメイン不一致、CA問題 |
| CORSエラー | ブラウザConsole | オリジン許可、認証情報、ヘッダー |
コマンド最小セット
| 目的 | macOS/Linux | Windows PowerShell |
|---|
| IP設定を見る | ip addr | ipconfig |
| DNS確認 | dig example.com | nslookup example.com |
| 到達確認 | ping example.com | ping example.com |
| 経路確認 | traceroute example.com | tracert example.com |
| HTTPヘッダー | curl -I https://example.com | curl.exe -I https://example.com |
| 詳細ログ | curl -v https://example.com | curl.exe -v https://example.com |
curlで見るポイント
curl -v https://example.com
| 表示 | 見る意味 |
|---|
Trying ... | 接続先IP |
Connected to ... | TCP接続成功 |
SSL connection using ... | TLS接続成功 |
> GET ... | リクエスト送信 |
< HTTP/2 200 | HTTPレスポンス |
curlの詳細ログでは、DNS、TCP、TLS、HTTPのどこまで進んだかを分けて見ます。
すぐ疑う前に分けるもの
| 似ている言葉 | 分け方 |
|---|
| Wi-Fiにつながる | LANに参加できているだけかもしれない |
| インターネットにつながる | DNSやHTTPまで成功しているかは別 |
| pingが通る | HTTPやTLSが成功するとは限らない |
| 404が出る | HTTPサーバーには届いている |
| CORSエラー | ブラウザの制限であり、サーバー未到達とは限らない |
危険な対応
| 対応 | なぜ危険か |
|---|
| ファイアウォールを完全無効化する | 本来止めるべき通信まで通る |
0.0.0.0/0 で管理ポートを開ける | 全世界から到達可能になる |
curl -k を常用する | TLS証明書検証を無視してしまう |
| 秘密情報入りURLを共有する | トークンやCookieが漏れる |
まとめ
ネットワーク不調では、端末、DNS、経路、ポート、TLS、HTTP、アプリを順番に分けます。最初に覚える最小セットは nslookup、ping、traceroute、curl -I、curl -v です。
参考リソース
← 一覧に戻る