1. ホーム
  2. windows

[解決済み】Windowsでどのプログラムがポート80を使用しているかを調べるにはどうしたらいいですか?重複

2022-04-13 09:20:12

質問

Windowsでどのプログラムが80番ポートを使っているかを調べるにはどうしたらいいですか?

見つからないのですが。

解決方法は?

スタートメニュー → アクセサリ → 「コマンドプロンプト」を右クリック。メニューの中で 管理者として実行します。 (Windows XPでは通常通り実行できます)、次のように実行します。 netstat -anb そして、あなたのプログラムの出力を見てください。

ちなみに、Skypeはデフォルトでポート80と443を着信接続に使用しようとします。

を実行することもできます。 netstat -anb >%USERPROFILE%\ports.txt に続いて start %USERPROFILE%\ports.txt をクリックすると、ポートおよびプロセスのリストがテキストエディタで開かれ、必要な情報を検索することができます。

また、PowerShell を使って netstat を出力して、より良い方法で表示する(あるいは好きなように処理する)ことができます。

$proc = @{};
Get-Process | ForEach-Object { $proc.Add($_.Id, $_) };
netstat -aon | Select-String "\s*([^\s]+)\s+([^\s]+):([^\s]+)\s+([^\s]+):([^\s]+)\s+([^\s]+)?\s+([^\s]+)" | ForEach-Object {
    $g = $_.Matches[0].Groups;
    New-Object PSObject |
        Add-Member @{ Protocol =           $g[1].Value  } -PassThru |
        Add-Member @{ LocalAddress =       $g[2].Value  } -PassThru |
        Add-Member @{ LocalPort =     [int]$g[3].Value  } -PassThru |
        Add-Member @{ RemoteAddress =      $g[4].Value  } -PassThru |
        Add-Member @{ RemotePort =         $g[5].Value  } -PassThru |
        Add-Member @{ State =              $g[6].Value  } -PassThru |
        Add-Member @{ PID =           [int]$g[7].Value  } -PassThru |
        Add-Member @{ Process = $proc[[int]$g[7].Value] } -PassThru;
#} | Format-Table Protocol,LocalAddress,LocalPort,RemoteAddress,RemotePort,State -GroupBy @{Name='Process';Expression={$p=$_.Process;@{$True=$p.ProcessName; $False=$p.MainModule.FileName}[$p.MainModule -eq $Null] + ' PID: ' + $p.Id}} -AutoSize
} | Sort-Object PID | Out-GridView

また、実行に昇格は必要ありません。