ELXSoftware

Desktop tools

ELX-PortUse

Which process is holding which port

The full socket table for Windows — TCP and UDP, IPv4 and IPv6 — with the process, its path and the Windows service behind each port. The same data as netstat, read directly through the system API and shown in a window you can search and sort.

v1.0.0 Windows Free

Every socket, both protocols

TCP and UDP, IPv4 and IPv6 in one table — the same information netstat -ano prints, obtained through the Windows API rather than by parsing its output.

One search box for everything

Type a port, a process name, a PID, an address or a service name and the table narrows. You rarely know in advance which of those you have.

Service names, not just svchost

The Windows service behind a port is resolved and shown, which is the only way to tell thirty instances of svchost.exe apart.

The details panel

Select a process and see every port it holds, copy the details, show the file in Explorer, or end the process when it is the one refusing to let go of port 8080.

Refresh on a timer

Off, or every 2, 5 or 15 seconds. A port that appears and disappears is easier to catch when the table is refreshing itself while you watch.

It opens where you can see it

In the centre of the screen, with Refresh and Exit in the title bar. A diagnostic tool should not need to be found before it can be used.

The question it answers

A service will not start because the port is taken. netstat -ano gives a PID; Task Manager turns the PID into svchost.exe; and there the trail usually goes cold. This program starts where that ends: the port, the process, the executable's full path, and the name of the Windows service that is actually responsible.

  • Finding what is holding a port before a deployment fails on it again.
  • Checking whether something is listening on an address it should not be.
  • Seeing every port one process has open, rather than one row at a time.
  • Ending the process that is in the way, from the same window.

What is in the table

ColumnWhat it shows
ProtocolTCP or UDP, IPv4 or IPv6
Local address and portWhat is bound, including whether it is bound to all interfaces or only the loopback
Remote address and portThe far end for established connections
StateListening, established and the rest, for TCP
PIDThe process identifier
ProcessThe executable's name and its full path
ServicesThe Windows service names hosted in that process

Filters narrow it to TCP, UDP, IPv4, IPv6 or listening sockets only, and any column can be sorted.

“Listening only” is the useful filterMost of a busy machine's socket table is outbound connections from a browser. Listening sockets are what answer the question “what is occupying this port”.

At a glance

Operating system
Windows 10 and 11
Protocols
TCP and UDP, IPv4 and IPv6
Data source
Windows API directly
Refresh
Off, 2 s, 5 s or 15 s
Actions
Copy details, show in Explorer, end process
Built with
Flutter

Frequently asked questions

How is this different from netstat?
The same data, plus the executable's full path and the Windows service names, in a table you can search, filter and sort — and with the ability to act on what you find.
Does it need administrator rights?
It runs without them and shows most of the table. Some processes' details, and ending a process that is not yours, require running it as administrator.
Can it end a process?
Yes, from the details panel. Ending a system service this way stops the service — which is sometimes exactly what you want and sometimes not, so it asks first.
Why does the same process appear many times?
Because it holds several sockets. Select it and the details panel lists all of them together.
Is there an installer?
The current build is a portable archive: unpack it and run it. Nothing is written outside its own folder.

ELX-PortUse

Which process is holding which port

Download

Nearby programs