How do I see which processes have open TCP/IP ports in Mac OS X?

One alternative is the use of the lsof utility; specifically, lsof -i 4tcp will list all processes with some sort of TCP IPv4 network sockets open. The manpage of lsof will provide you with detailed information on how to use the utility and how to interpret the output.


If you are interested in a specific port, you can use this example:

lsof -i 4tcp:8080 -sTCP:LISTEN

If you would only like to get the process id, you can run this:

lsof -i 4tcp:8080 -sTCP:LISTEN -Fp

I use the command below when I want to see everything that's on a specific port for either TCP or UDP. The -n option disables attempting to resolve the IP addresses into domain names, and the -P disables attempting to figure out the name of a particular port. Also, running as root will show you more processes than running as a normal user.

sudo lsof -iTCP:53 -iUDP:53 -n -P