【Windowsコマンド入門】netstatの使い方|通信ポートとプロセスを確認する方法

目次

【Windowsコマンド入門】netstatの使い方|通信ポートとプロセスを確認する方法

ネットワーク通信がうまくいかない、特定のポートが使用中かわからない——
そんなときに役立つのが netstat コマンド です。

この記事では、通信ポートの使用状況や接続先を確認する方法を、
実務例とともにわかりやすく解説します。


スポンサーリンク




🔍 netstatとは?

netstat(Network Statistics)は、現在の通信状態を確認するコマンドです。
TCP・UDPの接続状況、ポート番号、プロセスID(PID)などを一覧で表示できます。

💡 サーバが「通信しているのか」「どのアプリがポートを掴んでいるのか」を調べるときに必須のコマンドです。

🧭 基本構文

この基本コマンドでは、現在の通信接続の一覧を簡易的に表示します。

出力例:


⚙️ よく使うオプション一覧

オプション 説明
-a すべての接続と待機中のポートを表示
-n アドレス・ポートを数値で表示(名前解決なし)
-o 各接続に対応するプロセスID(PID)を表示
-b 実際に通信を行っているプログラム名も表示(管理者権限が必要)

🔎 通常使用例:現在のTCP通信を確認

結果(例):

💡 「State = LISTENING」なら、そのポートでアプリが待機中という意味です。

🧩 ポートを掴んでいるアプリを特定

PID(プロセスID)から、どのアプリがポートを使用しているか調べられます。

結果(例):

→ PID1428はApache(httpd)が使用していることがわかります。


🔒 特定ポートを使用しているプロセスを検索

特定のポート(例:443番)を使用しているアプリを確認するには:

結果:

さらにプロセスを特定:


🧠 通信状態の「State」一覧

状態 意味
LISTENING ポートを開いて待機中
ESTABLISHED 通信が確立中
CLOSE_WAIT 接続相手が切断、ローカルはまだ閉じていない
TIME_WAIT 接続終了後の待機状態
SYN_SENT / SYN_RECEIVED 接続開始処理中

🧰 実務での活用例

シナリオ コマンド 確認ポイント
サーバが特定ポートで待機しているか確認 netstat -ano | findstr :80 LISTENING 状態であること
通信が遅い/繋がらない時の確認 netstat -an ESTABLISHED が多すぎないか
アプリがどのポートを使っているか調査 netstat -b -n 実行ファイル名とセットで確認
不審な外部通信を検出 netstat -ano 不明な Foreign Address を調査

⚡ PowerShellでの代替:Get-NetTCPConnection

Windows 10以降では、PowerShellでも同様の確認が可能です。

💡 結果はオブジェクトとして扱えるため、 Where-Object でのフィルタリングも可能。

🔗 関連記事


🧾 まとめ

netstatは、通信状態・ポート・プロセスを一度に把握できる非常に強力なツールです。 トラブル対応時は、以下の手順で原因を切り分けましょう。

  1. netstat -anoで接続確認
  2. findstr : ポート番号で対象検出
  3. tasklist | findstr PIDでアプリ特定

スポンサーリンク