How do I find which program is using port 80 in Windows?

WindowsPort

Windows Problem Overview


How do I find which program is using port 80 in Windows?

I can't find it.

Windows Solutions


Solution 1 - Windows

Type in the command:

netstat -aon | findstr :80

It will show you all processes that use port 80. Notice the pid (process id) in the right column.

If you would like to free the port, go to Task Manager, sort by pid and close those processes.

-a displays all connections and listening ports.

-o displays the owning process ID associated with each connection.

-n displays addresses and port numbers in numerical form.

Solution 2 - Windows

Start menu → Accessories → right click on "Command prompt". In the menu, click "Run as Administrator" (on Windows XP you can just run it as usual), run netstat -anb, and then look through output for your program.

BTW, Skype by default tries to use ports 80 and 443 for incoming connections.

You can also run netstat -anb >%USERPROFILE%\ports.txt followed by start %USERPROFILE%\ports.txt to open the port and process list in a text editor, where you can search for the information you want.

You can also use PowerShell to parse netstat output and present it in a better way (or process it any way you want):

$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

Also it does not require elevation to run.

Solution 3 - Windows

If you want to be really fancy, download TCPView from Sysinternals:

> TCPView is a Windows program that will > show you detailed listings of all TCP > and UDP endpoints on your system, > including the local and remote > addresses and state of TCP > connections. On Windows Server 2008, > Vista, and XP, TCPView also reports > the name of the process that owns the > endpoint. TCPView provides a more > informative and conveniently presented > subset of the Netstat program that > ships with Windows.

Solution 4 - Windows

Use this nifty freeware utility:

CurrPorts is network monitoring software that displays the list of all currently opened TCP/IP and UDP ports on your local computer.

Enter image description here

Solution 5 - Windows

Right click on "Command prompt" or "PowerShell", in menu click "Run as Administrator" (on Windows XP you can just run it as usual).

As Rick Vanover mentions in See what process is using a TCP port in Windows Server 2008

> The following command will show what network traffic is in use at the > port level: > > Netstat -a -n -o

or

Netstat -a -n -o >%USERPROFILE%\ports.txt

(to open the port and process list in a text editor, where you can search for information you want)

Then,

> with the PIDs listed in the netstat output, you can follow up with the > Windows Task Manager (taskmgr.exe) or run a script with a specific PID > that is using a port from the previous step. You can then use the > "tasklist" command with the specific PID that corresponds to a port in > question.

Example:

tasklist /svc /FI "PID eq 1348"

Solution 6 - Windows

Use NETSTAT on the command-line:

netstat util

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser198729View Question on Stackoverflow
Solution 1 - WindowsTechnotronicView Answer on Stackoverflow
Solution 2 - Windowsn0rdView Answer on Stackoverflow
Solution 3 - WindowsManuView Answer on Stackoverflow
Solution 4 - WindowsMarcelo MasonView Answer on Stackoverflow
Solution 5 - WindowsQuang TrinhView Answer on Stackoverflow
Solution 6 - WindowsdenisenkomView Answer on Stackoverflow