What port is a given program using?
WindowsNetworkingWindows 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.