目次
【Windowsコマンド入門】netstatの使い方|通信ポートとプロセスを確認する方法
ネットワーク通信がうまくいかない、特定のポートが使用中かわからない——
そんなときに役立つのが
netstat コマンド です。
この記事では、通信ポートの使用状況や接続先を確認する方法を、
実務例とともにわかりやすく解説します。
スポンサーリンク
🔍 netstatとは?
netstat(Network Statistics)は、現在の通信状態を確認するコマンドです。
TCP・UDPの接続状況、ポート番号、プロセスID(PID)などを一覧で表示できます。
💡 サーバが「通信しているのか」「どのアプリがポートを掴んでいるのか」を調べるときに必須のコマンドです。
🧭 基本構文
|
1 2 |
netstat |
この基本コマンドでは、現在の通信接続の一覧を簡易的に表示します。
出力例:
|
1 2 3 4 5 6 |
Active Connections Proto Local Address Foreign Address State TCP 192.168.1.10:49732 142.250.196.132:443 ESTABLISHED TCP 192.168.1.10:49733 20.190.128.3:443 ESTABLISHED |
⚙️ よく使うオプション一覧
| オプション | 説明 |
|---|---|
-a |
すべての接続と待機中のポートを表示 |
-n |
アドレス・ポートを数値で表示(名前解決なし) |
-o |
各接続に対応するプロセスID(PID)を表示 |
-b |
実際に通信を行っているプログラム名も表示(管理者権限が必要) |
🔎 通常使用例:現在のTCP通信を確認
|
1 2 |
netstat -ano |
結果(例):
|
1 2 3 4 |
Proto Local Address Foreign Address State PID TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1428 TCP 192.168.1.10:49852 142.250.196.132:443 ESTABLISHED 5124 |
💡 「State = LISTENING」なら、そのポートでアプリが待機中という意味です。
🧩 ポートを掴んでいるアプリを特定
PID(プロセスID)から、どのアプリがポートを使用しているか調べられます。
|
1 2 |
tasklist | findstr 1428 |
結果(例):
|
1 2 |
httpd.exe 1428 Console 0 12,340 K |
→ PID1428はApache(httpd)が使用していることがわかります。
🔒 特定ポートを使用しているプロセスを検索
特定のポート(例:443番)を使用しているアプリを確認するには:
|
1 2 |
netstat -ano | findstr :443 |
結果:
|
1 2 |
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 2564 |
さらにプロセスを特定:
|
1 2 |
tasklist | findstr 2564 |
🧠 通信状態の「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でも同様の確認が可能です。
|
1 2 |
Get-NetTCPConnection | Select-Object LocalAddress,LocalPort,RemoteAddress,State,OwningProcess |
💡 結果はオブジェクトとして扱えるため、
Where-Object でのフィルタリングも可能。
🔗 関連記事
🧾 まとめ
netstatは、通信状態・ポート・プロセスを一度に把握できる非常に強力なツールです。
トラブル対応時は、以下の手順で原因を切り分けましょう。
netstat -anoで接続確認findstr : ポート番号で対象検出tasklist | findstr PIDでアプリ特定




