Windows 2008 Port 80 in USE?

I encountered this issue on a windows 2008 enterprise 64bit with NO IIS installed. The port 80 should be free for use by other software…but it was not.
Here is the detail of how you can solve this:

On your comand prompt, issue this command:

netstat -a -n -o

The following representative screen will show up:

C:\Users\administrator>netstat -a -n -o

Active Connections

Proto Local Address Foreign Address State PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 904
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:1433 0.0.0.0:0 LISTENING 1708
TCP 0.0.0.0:2383 0.0.0.0:0 LISTENING 1736
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 888
TCP 0.0.0.0:49152 0.0.0.0:0 LISTENING 600
TCP 0.0.0.0:49153 0.0.0.0:0 LISTENING 988
TCP 0.0.0.0:49154 0.0.0.0:0 LISTENING 356
TCP 0.0.0.0:49155 0.0.0.0:0 LISTENING 688
TCP 0.0.0.0:49201 0.0.0.0:0 LISTENING 676
TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 1708
TCP 127.0.0.1:8005 0.0.0.0:0 LISTENING 1896
TCP 192.168.100.3:139 0.0.0.0:0 LISTENING 4

This shows you that PID 4 is the one using the port 80. To find out what the process is that is mapped to PID 4, issue this command on the command prompt:

C:\Users\administrator>tasklist /svc /FI “PID eq 4”

Image Name PID Services
========================= ======== ============================================
System 4 N/A

Hmm.. this means that the System process itself is the one using port 80. Fortunately, this blog already has a solution on why this is:

Windows Remote Management (known as WinRM) is a handy new remote management service for Windows Server 2003 R2, Windows Vista, and Windows Server 2008. WinRM is the “server” component of this remote management application and WinRS (Windows Remote Shell) is the “client” for WinRM, which runs on the remote computer attempting to remotely manage the WinRM server. However, I should note that BOTH computers must have WinRM installed and enabled on them for WinRS to work and retrieve information from the remote system.

WinRM is based on the Web Services for Management (WS-Management) standards. What that means is that WinRM uses the HTTP protocol (port 80) and SOAP requests to do its job. The good thing about that is that HTTP request are easy to send and receive through a firewall. And, consequently, the good and bad of that is that it will make it easier to remotely manage someone else’s Windows PC over the Internet OR it makes it easier for a malicious attacker to remotely attack Windows PCs over the Internet. The other benefit to WinRM using HTTP is that no additional ports would have to be opened up on server & client firewalls if HTTP inbound was already permitted.

Per Microsoft, WinRM is “Microsoft’s new tool for opening up a standards-based API for systems management.” So, if you weren’t tool interested in learning about it prior to this, in my mind, the fact that it is “Microsoft’s new remote management standard” makes it well worth learning about.

I then went into /administrative tools/services and configured the startup property of WinRM from automatic (delayed start) to Manual. I also restarted the machine to have the changes take effect.