It seems like this command should be easier, but it is a little crazy. Lets say that I don’t know that sshd is listening on port 22. Here is how to arrive at that:
# netstat -Aan | head
Active Internet connections (including servers)
PCB/ADDR Proto Recv-Q Send-Q Local Address Foreign Address (state)
f100060001be4b98 tcp4 0 0 *.13 *.* LISTEN
f100060001bf7b98 tcp 0 0 *.21 *.* LISTEN
f100060001f60398 tcp4 0 0 *.22 *.* LISTEN
f100060001bf4b98 tcp 0 0 *.23 *.* LISTEN
# rmsock f100060001f60398 tcpcb
The socket 0x1f60008 is being held by proccess 266380 (sshd).
#
You could also use lsof with the socket #, but I don’t usually load that.
Very useful when lsof can’t be installed. Thanks.
As the name implies, rmsock will remove a socket, but only if it isn’t used. In the above example it doesn’t remove it. Instead it returns the process id.