Contents

Windows で開いている TCP/IP ポートを確認する方法

<本文>/images/52577999789_6417edb804_o.jpg

まとめ

  • 管理者特権のコマンド プロンプト、PowerShell、またはターミナル ウィンドウでコマンド「netstat-ab」を実行すると、アプリケーションとそれに関連付けられたポートのリストが表示されます。

  • 開いているポートの確認は、コマンド プロンプトや PowerShell などの組み込みツールを使用して実行できます。これらのツールには、アクティブなポートと、関連するプロセス名または識別子が一覧表示されます。

  • NirSoft のフリーウェア アプリケーション CurrPorts を使用すると、ポートでリッスンしているものを簡単に表示でき、プロセスに関する詳細情報が表示され、ポートの管理が向上します。

アプリケーションがネットワーク経由で自身にアクセスできるようにする場合は常に、TCP/IP ポートを要求します。これは、そのポートが他のものによって使用できないことを意味します。では、開いているポートをチェックして、どのアプリケーションがすでにそのポートを使用しているかを確認するにはどうすればよいでしょうか?

ポートはどのように機能するのでしょうか?

IP アドレスは、ネットワーク上のコンピュータまたはその他のネットワーク デバイスを指定します。あるデバイスが別のデバイスにトラフィックを送信するとき、そのトラフィックを適切な場所にルーティングするために IP アドレスが使用されます。トラフィックが適切な場所に到達したら、デバイスはどのアプリまたはサービスにトラフィックを送信するかを認識する必要があります。そこでポートが登場します。

IP アドレスが郵便物の住所に似ている場合、ポートはその住居にいて郵便物を受け取る人の名前のようなものです。ほとんどの場合、ポートについて心配する必要はありません。ただし、別のアプリがすでに使用しているのと同じポートでトラフィックをリッスンするように設定されているアプリに遭遇することがあります。その場合、そのポートがすでに使用されているアプリを特定する必要があります。

どのアプリケーションがポートをロックしているかを知る方法はたくさんありますが、ここではコマンド プロンプト、PowerShell、またはターミナルを使用する組み込みの方法をいくつか説明し、それをさらに簡単にする優れたフリーウェア アプリケーションを紹介します。これらの方法はすべて、使用している Windows のバージョンに関係なく機能するはずです。

2 つのコマンドを紹介します。最初のリストには、アクティブなポートと、それらを使用しているプロセスの名前がリストされます。ほとんどの場合、このコマンドは正常に機能します。ただし、プロセス名だけでは実際にポートが割り当てられているアプリやサービスを特定できない場合があります。そのような場合には、アクティブなポートとそのプロセス識別番号を一覧表示し、タスク マネージャーでそれらのプロセスを検索する必要があります。

オプション 1: プロセス名とともにポートの使用を表示する

まず、管理者モードでターミナル (Powershell とコマンド プロンプトの両方が機能します) を開く必要があります。 スタート ボタンを押し、検索ボックスに「ターミナル」と入力します。結果にターミナルが表示されたら、右側の「管理者として実行」をクリックします。

/images/running-the-terminal-as-administrator.png

ターミナルで次のコマンドを入力または貼り付けて、Enter キーを押します。


netstat -ab

Enter キーを押した後、結果が完全に表示されるまで 1 ~ 2 分かかる場合があるので、しばらくお待ちください。リストをスクロールしてポート (ローカル IP アドレスの右側のコロンの後にリストされている) を見つけると、その行の下にプロセス名がリストされているのがわかります。作業をもう少し簡単にしたい場合は、コマンドの結果をテキスト ファイルにパイプすることもできることを覚えておいてください。その後、テキスト ファイルで目的のポート番号を検索するだけです。

たとえば、ここでは、WhatsApp が 53507 と 53512 の間の複数のポートを使用していることがわかります。これは驚くべきことではありません。多くのアプリがそのような複数の接続を使用します。

/images/whatsapp-using-multiple-ports-between-53507-and-53512.png

オプション 2: プロセス識別子とともにポートの使用を表示する

検索しているポート番号のプロセスの名前から、関連するアプリが何であるかを判断するのが難しい場合は、名前ではなくプロセス識別子 (PID) を表示するバージョンのコマンドを試すことができます。コマンド プロンプトに次のテキストを入力し、Enter キーを押します。


netstat -aon

一番右の列には PID がリストされているので、トラブルシューティングしようとしているポートにバインドされている PID を見つけてください。

/images/ltp_3.png

Ctrl+Shift+Esc を押してタスク マネージャーを開きます。または、タスクバーの空いているスペースを右クリックし、タスク マネージャー を選択してタスク マネージャーを開くこともできます。Windows 10 または 11 を使用している場合は、タスク マネージャーの 詳細 タブに切り替えます。

プロセスのリストを「PID」列で並べ替えて、調査しているポートに関連付けられている PID を見つけます。 説明 列を見ると、どのアプリまたはサービスでポートが割り当てられているかを詳しく知ることができる場合があります。

/images/go-to-the-details-tab-then-sort-the-table-by-process-id.png

スクロールするリストが大きい場合は、上部の検索バーを使用することもできます。

アプリが何であるかわからない場合は、プロセスを右クリックして ファイルの場所を開く を選択します。ファイルの場所から、どのアプリが関係しているかを知る手がかりが得られる可能性があります。 「オンラインで検索」を押すこともできますが、検索するプロセスによっては、結果に多少のばらつきが生じます。

/images/search-online-or-open-file-location.png

プロセスの終了 または サービスに移動 オプションを使用して、プロセスを制御または停止することもできます。

NirSoft CurrPorts を使用してポートでリッスンしているものを表示する

コマンド プロンプトがあまり好きではない場合、または単純なユーティリティを使用してこれらすべてを 1 ステップで実行したい場合は、NirSoft の優れたフリーウェア CurrPorts ユーティリティをお勧めします。先に進み、ツールをダウンロードしてください。正しいバージョンを入手していることを確認してください (通常バージョンは 32 ビット Windows 用であり、x64 バージョンは 64 ビット Windows 用です)。ポータブルアプリなので、インストールする必要はありません。ダウンロードフォルダーを解凍して実行ファイルを実行するだけです。

CurrPorts ウィンドウで、「ローカル ポート」列で並べ替え、調査しているポートを見つけると、プロセス名、PID、ポート、プロセスへのフル パスなど、すべてが表示されます。

/images/the-current-ports-displayed-in-currports.png

さらに簡単にするには、プロセスをダブルクリックして、1 つのウィンドウにすべての詳細を表示します。

44712​​30613929

調査対象のポートがどのアプリまたはサービスに関連付けられているかを特定したら、それをどのように処理するかはあなた次第です。アプリの場合は、別のポート番号を指定するオプションがある場合があります。それがサービスである場合、または別のポート番号を指定するオプションがない場合は、サービスを停止するかアプリを削除する必要がある可能性があります。

*️⃣ 出典リンク:

IP アドレス、ルート、ポート、コマンド プロンプト、PowerShell、ターミナル、コマンドの結果をテキスト ファイルにパイプする、タスク マネージャー、 CurrPorts、ポータブル アプリ、サービスを停止する、