Windows11でポート番号を確認する方法

※本ページにはプロモーション(広告)が含まれています。
Windows11でポート番号を確認する方法

Windows11でどのポートが開いているか知りたいけれど、コマンドやツールの選び方で迷ってしまうことはよくありますよね。

この記事を読むと、コマンドラインとGUIの両方からローカルで開いているポートを確認し、それを使っているプロセスを特定できるようになります。また管理者権限の扱い方やよくあるトラブルの対処法も具体的に学べますので、すぐ実務で役立てられます。

項目内容
独自コンテンツ1実際に使うコマンドとオプションを手順化してわかりやすく紹介します。
独自コンテンツ2GUIツールの使い方と、GUIで見落としやすいポイントをプログラマー視点で補足します。
独自コンテンツ3トラブル時の切り分け手順と、PIDから実プロセスにたどり着く裏ワザを実例で示します。

次の章では具体的なコマンドと画面操作を順に示していきますので、手を動かしながら一緒に確認していきましょう。

Windowsマニア

初めてで不安になっても大丈夫です。やさしく段階を追って説明するので、落ち着いて進めていきましょうね。

目次

Windows11でローカルの開いているポートと利用中プロセスを特定する方法

Windows11でローカルの開いているポートと利用中プロセスを特定する方法

ローカルでどのポートが開いているかとそれを使っているプロセスを見つけるのは、ネットワークトラブルを解く第一歩です。ここではコマンド操作とGUI操作を両方使って、手早く確実に特定するやり方をやさしく紹介します。

  • コマンドプロンプトでnetstatを使って一覧を取得しPIDを確認する方法。
  • PowerShellのGet-NetTCPConnectionでプロセスIDを取得しGet-Processで名前を照合する方法。
  • リソースモニターのGUIでListeningPortsを見てプロセスとポートを目で確かめる方法。

まずはnetstatで全体を一覧にしてから、気になるポートだけ絞り込むと効率よく探せます。

Windowsマニア

落ち着いて順を追えば必ず見つかります。困ったときは一緒に手順をたどってみましょう。

コマンドプロンプトでnetstatからポートとPIDを確認するやり方

コマンドプロンプトでnetstatからポートとPIDを確認するやり方

netstatは接続とリッスン状態を一覧表示する古典的なツールです。オプションでPIDを付ければどのプロセスがポートを使っているかが分かります。

管理者で実行しfindstrでポート番号を絞り込むと見やすくなります。見つけたPIDはtasklistやタスクマネージャーでプロセス名に変えましょう。

netstat -ano | findstr :8080
tasklist /fi "PID eq 1234"

管理者権限でコマンドプロンプトを開いてnetstat -anoを実行し該当ポートのPIDを探す

手順
管理者でコマンドプロンプトを開く

スタートメニューでコマンドプロンプトを右クリックし管理者として実行を選んでください。

手順
netstatで全接続を表示

netstat -anoを実行して全接続を確認し、必要ならfindstrで対象ポートを絞り込みます。

手順
PIDからプロセス名を確認

見つけたPIDをtasklistやタスクマネージャーで照合して実行中のプロセス名を特定します。

PowerShellでGet-NetTCPConnectionからプロセス名付きで確認するやり方

PowerShellでGet-NetTCPConnectionからプロセス名付きで確認するやり方

PowerShellのGet-NetTCPConnectionはローカルポートとOwningProcessが分かるので、プロセスIDの取得が楽になります。出力をSelectやFormat-Tableで整えると見通しがよくなります。

管理者で実行しGet-Processと組み合わせればPIDからプロセス名や実行パスまで追えます。スクリプト化すれば複数ポートのチェックも簡単になります。

Get-NetTCPConnection -LocalPort 8080 | Format-Table -AutoSize
Get-Process -Id 1234

管理者PowerShellでGet-NetTCPConnectionを実行してLocalPortとOwningProcessを確認しGet-ProcessでPIDを照合する

手順
管理者PowerShellを開く

スタートメニューでWindows PowerShellを右クリックし管理者として実行を選んでください。

手順
ローカルポートとOwningProcessを確認

Get-NetTCPConnection -State Listen | Where-Object LocalPort -EQ 8080 | Select LocalAddress,LocalPort,OwningProcessを実行して該当行を確認します。

手順
PIDをプロセス名に照合

Get-Process -Id 1234でPIDから実行中のプロセス名や詳細を確認します。

リソースモニターでGUIからリッスン中のポートを確認するやり方

リソースモニターでGUIからリッスン中のポートを確認するやり方

リソースモニターはGUIでプロセスとポートを直感的に結びつけられる便利なツールです。数字に不慣れな人でも視覚的に確認できるので安心して使えます。

タスクマネージャーから起動できるので権限のハードルも低めです。NetworkタブのListening Portsでプロセス名とポート番号を一覧できます。

タスクマネージャーのパフォーマンスからリソースモニターを開きネットワークのListening Portsでプロセスとポートを見る

手順
タスクマネージャーを開く

タスクバーを右クリックしてタスクマネージャーを選んでください。

手順
パフォーマンスからリソースモニターを開く

パフォーマンスタブを開きウィンドウ下のリソースモニターをクリックして起動します。

手順
NetworkのListening Portsを確認

リソースモニターのNetworkタブでListening Portsの一覧を表示し、プロセス名とポート番号を目で確かめます。

Windows11で外部から特定のポートが開いているかを確認する方法

Windows11で外部から特定のポートが開いているかを確認する方法

外部からWindows11の特定ポートが開いているかを調べるには、リモートから直接接続を試みるのがいちばん確実です。今回はWindows側で使いやすいPowerShellと、別の端末から使えるtelnetやncの両方を使って確認する方法を紹介します。

  • PowerShellのTest-NetConnectionで単一ポートに対して疎通と簡単な応答を確認する方法。
  • 別端末からtelnetまたはncで接続を試みて接続可否で開閉を判定する方法。
  • 接続できない場合はWindowsファイアウォールやアプリのリッスン状態を確認すること。
Windowsマニア

最初は緊張しなくて大丈夫です。順を追えば誰でもできるので、気軽にコマンドを実行して動きを見てみましょう。

WindowsのPowerShell Test-NetConnectionで単一ポートを遠隔チェックするやり方

WindowsのPowerShell Test-NetConnectionで単一ポートを遠隔チェックするやり方

PowerShellのTest-NetConnectionは、指定したホストとポートに対してTCPで接続を試みてくれます。疎通の成否や簡単な応答情報が返るのでWindows同士や管理端末からのチェックに便利です。

Test-NetConnection -ComputerName example.com -Port 80

実行後はTcpTestSucceededやPingSucceededなどの出力を確認してください。Falseの場合は相手のサービスが起動しているかやWindowsファイアウォールの設定を疑うとよいです。

PowerShellでTest-NetConnection -ComputerName -Port を実行して疎通と応答状況を確認する

手順
コマンドを実行する

Test-NetConnectionでComputerNameに対象ホストを、Portにポート番号を指定して実行します。例としてTest-NetConnection -ComputerName example.com -Port 80を実行してください。

手順
出力を読む

TcpTestSucceededがTrueならTCPで接続できています。PingSucceededやRoundtripTimeでネットワークの往復状況、RemoteAddressで解決先IPを確認してください。

手順
接続できないときの対処

TcpTestSucceededがFalseなら対象サービスが停止かWindowsファイアウォールでブロックされている可能性があります。サービスのリッスン状態やファイアウォールの受信規則を確認してください。

別端末からtelnetやncでWindows11のポートを確認するやり方

別端末からtelnetやncでWindows11のポートを確認するやり方

別端末からの確認は実際にTCP接続を試すので非常に分かりやすい方法です。telnetは単純に接続を試せますし、ncはより細かい接続結果を返すことが多く便利です。

telnet example.com 80
nc -vz example.com 80

接続が拒否される場合はターゲット側のアプリが起動しているかやファイアウォール、ルーターのポートフォワード設定を確認してください。タイムアウトが続く場合は経路の問題も疑ってみましょう。

別のマシンからtelnetまたはncで:に接続し接続可否で開閉を判定する

手順
telnetでの確認手順

telnetホスト名 ポートで接続を試みます。接続が確立すれば画面が切り替わるか応答が返るので開いていると判断できます。

手順
ncでの確認手順

ncの-vzオプションで簡潔に結果を表示します。成功なら接続成功のメッセージが出て失敗なら拒否やタイムアウトが出ます。

手順
結果の見方と注意点

接続拒否はアプリ側のリッスン無しや明示的拒否を示します。タイムアウトはネットワークやファイアウォールの遮断を示すことが多いのでログやファイアウォール設定も合わせて確認してください。

Windows11でポート競合を解消したりファイアウォール設定を調整する応用テクニック

Windows11でポート競合を解消したりファイアウォール設定を調整する応用テクニック

ポート競合はサービスが起動しない原因になったり通信が途中で止まってしまったりしますよね。慌てずに原因を切り分けると短時間で解消できます。

  • 占有しているプロセスを特定して終了しポートを解放する。
  • サービスやアプリの設定で使用ポートを別の番号に変更する。
  • Windowsファイアウォールの受信ルールを見直して必要なポートを開放する。

まずはnetstatでどのプロセスがポートを使っているか調べるのがおすすめです。状況に応じて素早く安全に対応すればトラブルが長引きません。

プロセスを特定して終了してポートを解放する応用パターン

プロセスを特定して終了してポートを解放する応用パターン

占有プロセスを探して終了するのはシンプルで効果が出やすい方法です。netstatでポートを使っているPIDを確認してからプロセス名を特定し終了させます。

netstat -ano | findstr :1234
tasklist /fi "PID eq 5678"
taskkill /PID 5678 /F

管理者権限が必要です。誤って重要なシステムプロセスを終了しないようサービス名やコマンドラインをよく確認してください。

Windowsファイアウォールの受信ルールを確認してポートを開放する応用パターン

Windowsファイアウォールの受信ルールを確認してポートを開放する応用パターン

ファイアウォールが原因でポートが通らないこともよくあります。GUIの「Windowsファイアウォール詳細設定」かPowerShellから受信ルールを確認して必要なポートに例外を追加します。

Get-NetFirewallRule -DisplayName "MyAppPort" -ErrorAction SilentlyContinue
If(-Not(Get-NetFirewallRule -DisplayName "MyAppPort")){
  New-NetFirewallRule -DisplayName "MyAppPort" -Direction Inbound -Protocol TCP -LocalPort 1234 -Action Allow -Profile Private
}

管理者権限で操作してください。公開ネットワークで広くポートを開放するのは避け最小限の範囲に限定してください。

よくある質問

よくある質問
ローカルで開いているポートを一覧で確認するには

PowerShellでGet-NetTCPConnectionを実行してStateがListenの行を見るか、管理者権限でnetstatのPID表示オプションを使って一覧を見ると分かりやすいです。PIDが分かればtasklistやタスクマネージャの詳細タブでプロセス名を結びつけられます。手早く結果が欲しいときはnetstatが便利です。

特定のポートを使っているプロセスを調べるには

port番号を手がかりに一覧を絞り込んだ後、表示されたPIDでGet-Processやtasklistを使ってプロセス名を取得します。GUIが好きならタスクマネージャでPID列を表示して探すと直感的です。PIDが4の場合はSystemが使っていることが多いので注意してください。

ポートがブロックされているかどうかはどう確認するのが良いですか

PowerShellの接続テストコマンドやtelnetやcurlで実際に接続を試みてみるのが確実です。接続ができない場合はWindowsファイアウォールの受信規則やルーター側のフィルタをチェックしてください。アプリ側の設定で待ち受けアドレスが正しくないこともよくある原因です。

実行に管理者権限は必要ですか

一覧だけなら権限なしで確認できることもありますが、プロセス名を取得したりポートの詳細を表示したりする場合は管理者権限が必要になることが多いです。権限が足りないとPIDは見えてもプロセス名が空になることがあるので、その場合は管理者として実行してください。作業前に不要なプロセスを停止する場合は影響範囲を確認する習慣をつけると安心です。

まとめ

まとめ

ここまででWindows11でローカルの開いているポートを確認し、それを使っているプロセスを特定する方法を実際に歩いてきました。コマンドラインではnetstatやPowerShellでTCP接続情報を取得してPIDを確認し、PIDからプロセス名を突き止めるやり方が役立ちます。

GUIが好みならリソースモニターやSysinternalsのTCPViewが便利です。管理者権限で操作すると正確な情報が得られ、ポートを空けるにはサービス停止やアプリ側の設定変更で対応できます。最後に接続テストで動作を確かめてください。

Windowsマニア

困ったときは慌てずイベントログやアプリのログを見てください。些細な設定ミスで止まっていることが多いので、一つずつ確認すると解決が早くなります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次