ネットワーク診断コマンド

ネットワーク診断コマンドとは

「サイトに繋がらない」「社内サーバーが見えない」というとき、原因を層ごとに切り分けるために使うのが診断コマンド群です。どれもOSに標準搭載されており、順番に叩くだけで原因をかなり絞り込めます。

定番コマンド一覧

コマンド調べられること
ipconfig / ip addr自分のIPアドレス・ゲートウェイの設定
ping相手まで届くか・応答時間(RTT)
traceroute / tracert相手までの経由ルーターの一覧
nslookup / dig[[DNS]] の名前解決の結果
netstat / ss待ち受けポート・接続中の通信
curlHTTPリクエストの送信と応答の確認
  • ping — ICMPというプロトコルで相手に「応答して」と頼む最も基本のコマンド。応答時間や届かない事実そのものが情報になる
  • traceroute(Windowsは tracert)— 経由する各ルーターを順に表示する。[[ルーティング]] のどこで止まっているかが見える
  • nslookup / dig — ドメイン名がどのIPに解決されるかを確認。「pingはIP直打ちなら通るのに名前だと失敗」ならDNSの問題と分かる
  • netstat / ss — サーバー側で「サービスが本当にそのポートで待ち受けているか」(LISTEN)を確認できる([[ポート番号]])

切り分けの基本手順

「下の層から順に」が鉄則です([[TCP/IP]] の層の考え方がそのまま活きます)。

  1. ipconfig / ip addr — 自分のIP設定は正しいか([[IPアドレスとサブネット]] が変でないか)
  2. ping ゲートウェイ — LANの出口まで届くか
  3. ping 8.8.8.8 — インターネットへIPで出られるか
  4. nslookup 対象ドメイン — 名前解決はできるか
  5. 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・サーバーのどこに問題があるかを効率よく絞り込めます。