[windows] What port is a given program using?

I want to be able to figure out what port a particular program is using. Are there any programs available online or that come with windows that will tell me which processes are using which ports on my computer?

PS - before you downmod this for not being a programming question, I'm looking for the program to test some networking code.

This question is related to windows networking

The answer is


most decent firewall programs should allow you to access this information. I know that Agnitum OutpostPro Firewall does.


You may already have Process Explorer (from Sysinternals, now part of Microsoft) installed. If not, go ahead and install it now -- it's just that cool.

In Process Explorer: locate the process in question, right-click and select the TCP/IP tab. It will even show you, for each socket, a stack trace representing the code that opened that socket.


At a command line, netstat -a will give you lots o' info.


If your prefer a GUI interface CurrPorts is free and works with all versions of windows. Shows ports and what process has them open.


Open Ports Scanner works for me.


"netstat -natp" is what I always use.


On Vista, you do need elevated privileges to use the -b option with netstat. To get around that, you could run "netstat -ano" which will show all open ports along with the associated process id. You could then use tasklist to lookup which process has the corresponding id.

C:\>netstat -ano

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  ...
  TCP    [::]:49335             [::]:0                 LISTENING       1056
  ...

C:\>tasklist /fi "pid eq 1056"

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
sqlservr.exe                  1056 Services                   0     66,192 K

You can use the 'netstat' command for this. There's a description of doing this sort of thing here.


Windows 8 (and likely 7 + Vista) also provide a view in Resource Monitor. If you select the Network tab, there's a section called 'Listening Ports'. Can sort by port number, and see which process is using it.


Windows comes with the netstat utility, which should do exactly what you want.


TCPView can do what you asked for.