もくじ
📝 はじめに
ネットワークやアプリのトラブル対応をしていると、
「このPCで、どのTCP接続が張られているのか」
「特定のポートやプロセスが通信しているか」
を確認したくなる場面は多いのではないでしょうか。
そんなときに役立つのが
Get-NetTCPConnection です。
この記事では、PowerShellで現在のTCP接続状況を確認する基本的な使い方を、
実務の切り分け視点で分かりやすく解説します。
- どのポートが通信中かを確認したいとき
- 不要な通信や怪しい接続がないか調べたいとき
- アプリやサービスが正しく待ち受けているか確認したいとき
✅ このコマンドでできること(要点)
- 現在確立されているTCP接続を一覧で確認できる
- ローカル/リモートのIPアドレスとポートを把握できる
- 接続状態(Listen / Established など)を確認できる
- プロセスID(PID)と関連付けて調査できる
✅ Get-NetTCPConnection でできること
Get-NetTCPConnection は、
Windows上で現在使用されている
TCP通信の接続情報を一覧表示するコマンドです。
cmdの netstat と似た役割ですが、
PowerShellでは結果をオブジェクトとして扱えるため、
条件抽出やスクリプト連携がしやすいのが特徴です。
🧩 基本構文
Get-NetTCPConnection
引数を付けずに実行すると、
すべてのTCP接続情報が一覧で表示されます。
▶ 基本的な使い方(まずこれだけ)
🔹 TCP接続を一覧で確認する
Get-NetTCPConnection
ローカルアドレス、リモートアドレス、状態(State)が表示されます。
一覧が表示されていれば、TCP接続情報は正しく取得できています。
🔹 接続状態を確認する
Get-NetTCPConnection | Select-Object LocalAddress, LocalPort, State
Established なら通信中、
Listen なら待ち受け状態を意味します。
この状態が確認できれば、挙動は把握できています。
🛠 よく使われる指定例
🔹 特定ポートの接続を確認する
Get-NetTCPConnection -LocalPort 443
Webサーバー(HTTPS)など、
特定ポートの使用状況を調べたい場合に便利です。
🔹 待ち受け中のポートだけを確認する
Get-NetTCPConnection | Where-Object {$_.State -eq "Listen"}
サービスが正しく起動しているかの確認に使えます。
💼 実務でよく使う使用例(応用)
🔹 通信中(Established)の接続を確認する
Get-NetTCPConnection | Where-Object {$_.State -eq "Established"}
実際に外部と通信している接続だけを抽出できます。
🔹 プロセスとひも付けて確認する
Get-NetTCPConnection |
Select-Object LocalPort, RemoteAddress, State, OwningProcess
- Get-Process と組み合わせてアプリ特定
- Test-NetConnection で疎通確認
- Get-NetAdapter で通信経路を確認
🧩 よくある勘違い・つまずきポイント
- TCP接続があっても通信が成功しているとは限らない
- Listen状態は「接続待ち」であり通信中ではない
- 一瞬で消える接続は表示されないことがある
- 管理者権限がないと一部情報が見えない場合がある
- UDP通信は対象外である
🔄 cmdとの違いについて
cmdの netstat は表示が固定的ですが、
Get-NetTCPConnection は
条件指定やオブジェクト操作がしやすい点が大きな違いです。
スクリプトでの再利用性が高くなります。
⚠ エラー・うまく動かないときの確認ポイント
- 管理者権限でPowerShellを起動しているか
- 対象のアプリやサービスが起動しているか
- ファイアウォールやセキュリティソフトの影響
- 確認したい通信が短時間で終了していないか
🧠 注意点
Get-NetTCPConnection は状態確認用のコマンドです。
接続を切断・制御する機能はないため、
実際の対処はサービス設定やファイアウォール設定と併せて行いましょう。
📌 まとめ
- Get-NetTCPConnectionはTCP接続確認の基本コマンド
- ポート・状態・プロセスをまとめて把握できる
- 不審な通信やトラブル切り分けに有効
- 次は疎通確認やプロセス調査と組み合わせると理解が深まる
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探せます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- TCP接続を確認したい
- どのアプリが通信しているか調べたい
