開放 - どのプロセスがWindows上のポートでリッスンしているかを知るにはどうすればよいですか?




リッスンポートとは (18)

どのプロセスがWindows上のポートでリッスンしているかを知るにはどうすればよいですか?


PIDとイメージ名を取得する

1つのコマンドだけを使用してください:

for /f "tokens=5" %a in ('netstat -aon ^| findstr 9000') do tasklist /FI "PID eq %a"

9000はポート番号で置き換えてください。

出力には次のようなものが含まれます:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
java.exe                      5312 Services                   0    130,768 K

説明:

  • 次のコマンドの出力からすべての行を繰り返し処理します。

    netstat -aon | findstr 9000
    
  • すべての行からPID( %a - ここでは名前は重要ではありません)が抽出され(PIDはその行の5 番目の要素です)、次のコマンドに渡されます

    tasklist /FI "PID eq 5312"
    

ヘッダーコマンドプロンプトの戻り値をスキップする場合は、 次のコマンドを使用できます。

echo off & (for /f "tokens=5" %a in ('netstat -aon ^| findstr 9000') do tasklist /NH /FI "PID eq %a") & echo on

出力:

java.exe                      5312 Services                   0    130,768 K

  1. コマンドプロンプトウィンドウを開く(Administratorとして) "Start \ Search"ボックスから "cmd"と入力し、 "cmd.exe"を右クリックして "Administratorとして実行"を選択します。

  2. 次のテキストを入力し、Enterキーを押します。

    netstat -abno

    -aすべての接続とリスニングポートを表示します。

    -b各接続またはリスニングポートの作成に関連する実行可能ファイルを表示します。 場合によっては、よく知られている実行可能ファイルが複数の独立したコンポーネントをホストしており、これらの場合、接続またはリスニングポートの作成に関連する一連のコンポーネントが表示されます。 この場合、実行可能ファイルの名前は[]内にあり、一番上には呼び出されたコンポーネントがあり、TCP / IPに達するまで実行されます。 このオプションは時間がかかることがあり、十分な権限がない限り失敗します。

    -nアドレスとポート番号を数値形式で表示します。

    -o各接続に関連付けられている所有プロセスIDを表示します。

  3. 「ローカルアドレス」の下でリスンしているポートを探します。

  4. その直下のプロセス名を見てください。

注:タスクマネージャでプロセスを検索するには

  1. あなたが見ているポートの隣にあるPID(プロセス識別子)に注意してください。

  2. Windowsタスクマネージャを開きます。

  3. 「プロセス」タブを選択します。

  4. 手順1でnetstatを実行したときにメモしたPIDを探します。

    • PID列が表示されない場合は、[列の表示/選択]をクリックします。 PIDを選択します。

    • 「すべてのユーザーからのプロセスを表示する」が選択されていることを確認します。


NirSoftのCurrPortsをお勧めします。

CurrPortsは、表示された結果をフィルタリングできます。 TCPViewはこの機能はありません。

注:プロセスのソケット接続を右クリックし、「選択したTCP接続を閉じる」を選択することもできます(これはTCPViewでも可能です)。 これにより、VPNを切り替えた後、OutlookとLyncとの接続に関する問題が修正されることがよくあります。 CurrPortsを使用すると、コマンドラインから/ closeパラメータを使用して接続を閉じることもできます。


Powershellを使用している場合は、 Get-NetworkStatistics試してください:

> Get-NetworkStatistics | where Localport -eq 8000


ComputerName  : DESKTOP-JL59SC6
Protocol      : TCP
LocalAddress  : 0.0.0.0
LocalPort     : 8000
RemoteAddress : 0.0.0.0
RemotePort    : 0
State         : LISTENING
ProcessName   : node
PID           : 11552

Windowsのpidからポート番号を取得するのは簡単です。

次の手順があります。

1)「実行」 - >「cmd」と入力し、Enterキーを押します。

2)次のコマンドを書く...

netstat -aon | findstr [port number]

(注:角括弧は使用しないでください)。

3)Enterを押す...

4)cmdは、そのポートで実行中のサービスの詳細をpidとともに表示します。

5)タスクマネージャを開き、サービスタブを押して、pidとcmdのそれをマッチさせてください。


Windowsの場合、リッスンやポート1234に接続したものを探したい場合は、cmdプロンプトで次のコマンドを実行します。

netstat -na | find "1234"

netstat -a -o特定のポートで実行されているプロセスのPIDを表示します。

プロセスIDを覚えて、タスクマネージャとサービスまたは詳細タブに行き、同じPIDを持つプロセスを終了します。

したがって、ウィンドウ内の特定のポートで実行中のプロセスを強制終了することができます。


netstat -aonetstat -abを実行するとアプリケーションが表示されますが、管理者でない場合は「要求された操作には仰角が必要です」と表示されます。

理想的ではありませんが、sysinternalsプロセスエクスプローラを使用する場合は、特定のプロセスのプロパティに行き、TCPタブを見て、興味のあるポートを使用しているかどうかを確認してください。それは誰かを助ける....


このためのGUIが必要な場合は、 TCPView使用してください。 それはMicrosoftが買収した古いSysinternalsアプリだ。


これを行うためのGUIツールを使用したい場合は、 TCPViewます。


コマンドシェルを開き、次のように入力してください:(あなたのポートは123456です)

netstat -a -n -o | find "123456"

あなたは必要なものすべてを見るでしょう

ヘッダーは次のとおりです。

 Proto  Local Address          Foreign Address        State           PID
 TCP    0.0.0.0:37             0.0.0.0:0              LISTENING       1111

これはhere述べたとおりhere



ポートの変更が機能しない場合:

ステップ-1:Windowsで「サービス」を検索してサービスに移動します。

ステップ-2:すべてのサービスをアルファベット順に注文する(必要ありません)

ステップ-3:MYSQLに関連するサービスをすべて停止します。

ステップ-4:xamppからmysqlを起動します。


各接続に関連付けられているすべての所有プロセスIDのリストを取得するには、次のようにします。

netstat -ao |find /i "listening"

任意のプロセスを強制終了させたい場合は、IDを持ってこのコマンドを使用して、ポートが空になるようにします

Taskkill /F /IM pidof a process

次のコマンドを入力しますnetstat -aon | findstr :DESIRED_PORT_NUMBER netstat -aon | findstr :DESIRED_PORT_NUMBER

たとえば、ポート80を探したいとしますnetstat -aon | findstr :80 netstat -aon | findstr :80

この回答はもともとこのスレッドに投稿されました。


次のコマンドを実行すると、詳細情報が表示されます。

netstat -aon |find /i "listening" |find "port"

'Find'コマンドを使用すると、結果をフィルタリングできます。 find / i "listening"は、 "Listening"であるポートだけを表示します。 注意してください。/ iを入力する必要があります。そうでない場合は、 "LISTENING"と入力します。 | find "port"は、特定のポート番号を含むものだけに結果を制限します。 これには、応答文字列のどこにでもポート番号を持つ結果をフィルタリングすることに注意してください。


C:\> netstat -a -b

(ホスト名を解決しようとするのを止めるために-nを追加すると、ホスト名がずっと速くなります)

TCPViewについてのDaneの推奨に注意してください。 非常に便利ですね!

-aすべての接続とリスニングポートを表示します。

-b各接続またはリスニングポートの作成に関連する実行可能ファイルを表示します。 場合によっては、よく知られている実行可能ファイルが複数の独立したコンポーネントをホストしており、これらの場合、接続またはリスニングポートの作成に関連する一連のコンポーネントが表示されます。 この場合、実行可能ファイルの名前は[]内にあり、一番上には呼び出されたコンポーネントがあり、TCP / IPに達するまで実行されます。 このオプションは時間がかかることがあり、十分な権限がない限り失敗します。

-nアドレスとポート番号を数値形式で表示します。

-o各接続に関連付けられている所有プロセスIDを表示します。


netstat -aon | find /i "listening"






port