On Linux, I can use netstat -pntl | grep $PORT
or fuser -n tcp $PORT
to find out which process (PID) is listening on the specified TCP port. How do I get the same information on Mac OS X?
Macos – Who is listening on a given TCP port on Mac OS X
listenmacosnetstattcp
Best Solution
On macOS
Big Sur
and later, use this command:or to just see just IPv4:
On older versions, use one of the following forms:
Substitute
$PORT
with the port number or a comma-separated list of port numbers.Prepend
sudo
(followed by a space) if you need information on ports below #1024.The
-n
flag is for displaying IP addresses instead of host names. This makes the command execute much faster, because DNS lookups to get the host names can be slow (several seconds or a minute for many hosts).The
-P
flag is for displaying raw port numbers instead of resolved names likehttp
,ftp
or more esoteric service names likedpserve
,socalia
.See the comments for more options.
For completeness, because frequently used together:
To kill the PID: