What port is a given program using?

WindowsNetworking

Windows Problem Overview


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.

Windows Solutions


Solution 1 - Windows

netstat -b -a lists the ports in use and gives you the executable that's using each one. I believe you need to be in the administrator group to do this, and I don't know what security implications there are on Vista.

I usually add -n as well to make it a little faster, but adding -b can make it quite slow.

Edit: If you need more functionality than netstat provides, vasac suggests that you try TCPView.

Solution 2 - Windows

TCPView can do what you asked for.

Solution 3 - Windows

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

Solution 4 - Windows

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.

Solution 5 - Windows

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

Solution 6 - Windows

"netstat -natp" is what I always use.

Solution 7 - Windows

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.

Solution 8 - Windows

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

Solution 9 - Windows

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

Solution 10 - Windows

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

Solution 11 - Windows

Open Ports Scanner works for me.

Solution 12 - Windows

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

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
QuestionAlexeyMKView Question on Stackoverflow
Solution 1 - WindowsGraeme PerrowView Answer on Stackoverflow
Solution 2 - WindowsvasacView Answer on Stackoverflow
Solution 3 - WindowsJim OlsenView Answer on Stackoverflow
Solution 4 - WindowsAdam MitzView Answer on Stackoverflow
Solution 5 - WindowsctcherryView Answer on Stackoverflow
Solution 6 - WindowsSteve BakerView Answer on Stackoverflow
Solution 7 - WindowsMikezx6rView Answer on Stackoverflow
Solution 8 - WindowsAdam RosenfieldView Answer on Stackoverflow
Solution 9 - WindowsCodeRotView Answer on Stackoverflow
Solution 10 - WindowstkerwinView Answer on Stackoverflow
Solution 11 - WindowsArne EvertssonView Answer on Stackoverflow
Solution 12 - WindowsToby MillsView Answer on Stackoverflow