ネットワーク診断コマンド
ネットワーク診断コマンドとは
「サイトに繋がらない」「社内サーバーが見えない」というとき、原因を層ごとに切り分けるために使うのが診断コマンド群です。どれもOSに標準搭載されており、順番に叩くだけで原因をかなり絞り込めます。
定番コマンド一覧
| コマンド | 調べられること |
|---|---|
ipconfig / ip addr | 自分のIPアドレス・ゲートウェイの設定 |
ping | 相手まで届くか・応答時間(RTT) |
traceroute / tracert | 相手までの経由ルーターの一覧 |
nslookup / dig | [[DNS]] の名前解決の結果 |
netstat / ss | 待ち受けポート・接続中の通信 |
curl | HTTPリクエストの送信と応答の確認 |
- ping — ICMPというプロトコルで相手に「応答して」と頼む最も基本のコマンド。応答時間や届かない事実そのものが情報になる
- traceroute(Windowsは
tracert)— 経由する各ルーターを順に表示する。[[ルーティング]] のどこで止まっているかが見える - nslookup / dig — ドメイン名がどのIPに解決されるかを確認。「pingはIP直打ちなら通るのに名前だと失敗」ならDNSの問題と分かる
- netstat / ss — サーバー側で「サービスが本当にそのポートで待ち受けているか」(LISTEN)を確認できる([[ポート番号]])
切り分けの基本手順
「下の層から順に」が鉄則です([[TCP/IP]] の層の考え方がそのまま活きます)。
ipconfig/ip addr— 自分のIP設定は正しいか([[IPアドレスとサブネット]] が変でないか)ping ゲートウェイ— LANの出口まで届くかping 8.8.8.8— インターネットへIPで出られるかnslookup 対象ドメイン— 名前解決はできるかcurl https://対象— アプリ層(HTTP)まで通るか
この順で試すと「LANの問題/回線の問題/DNSの問題/サーバーの問題」を数分で切り分けられます。
初学者向けポイント
- pingが通らなくても故障とは限らない — セキュリティ目的でICMP応答を止めているサーバーは多い
- 応答時間(RTT)の見方は [[帯域と遅延]] の理解とセットで身につけると効果的
- コマンドで分からない深い問題(パケットの中身)は [[パケットキャプチャ]] の出番
関連技術とのつながり
- [[DNS]] — nslookup / dig で名前解決を確認する
- [[ルーティング]] — traceroute は経路を可視化するコマンド
- [[TCP/IP]] — 「下の層から切り分ける」手順は層モデルの応用
- [[パケットキャプチャ]] — コマンドで足りないときの精密検査
Q: 相手のホストまで通信が届くか・応答時間を確認する最も基本的なコマンドはどれ?
- [x] ping
- [ ] nslookup
- [ ] netstat
解説: pingはICMPで相手に応答を頼むコマンドです。nslookupは名前解決、netstatはポートや接続状態の確認に使います。
Q: 「IPアドレス直打ちならpingが通るのに、ドメイン名だと失敗する」場合に疑うべきものはどれ?
- [ ] LANケーブルの断線
- [x] DNSの名前解決
- [ ] サーバーのディスク容量
解説: IPでは届くのに名前で失敗するなら、名前をIPに変換するDNSに問題がある可能性が高く、nslookupやdigで確認します。
Q: 本文で紹介された切り分けの基本手順はどれ?
- [ ] まずサーバーアプリのログだけを調べる
- [x] 自分のIP設定→ゲートウェイ→インターネット→DNS→アプリ層の順に下から確認する
- [ ] 対象サーバーを再起動してから考える
解説: 層の下から順に確認することで、LAN・回線・DNS・サーバーのどこに問題があるかを効率よく絞り込めます。