在freebsd中可以使用sockstat查看打开的socket的情况,包含了端口相应进程的进程名、PID,用户等!
系统说明:
NAME
sockstat -- list open sockets
SYNOPSIS
sockstat [-46clu] [-p ports]
DESCRIPTION
The sockstat command lists open Internet or UNIX domain sockets.
The following options are available:
-4 Show AF_INET (IPv4) sockets.
-6 Show AF_INET6 (IPv6) sockets.
-c Show connected sockets.
-l Show listening sockets.
-p ports Only show Internet sockets if either the local or foreign
port number is on the specified list. The ports argument is
a comma-separated list of port numbers and ranges specified
as first and last port separated by a dash.
-u Show AF_LOCAL (UNIX) sockets.
If neither -4, -6 or -u is specified, sockstat will list sockets in all
three domains.
If neither -c or -l is specified, sockstat will list both listening and
connected sockets.
The information listed for each socket is:
USER The user who owns the socket.
COMMAND The command which holds the socket.
PID The process ID of the command which holds the socket.
FD The file descriptor number of the socket.
PROTO The transport protocol associated with the socket for
Internet sockets, or the type of socket (stream or data-
gram) for UNIX sockets.
LOCAL ADDRESS For Internet sockets, this is the address the local end
of the socket is bound to (see getsockname(2)). For
bound UNIX sockets, it is the socket's filename. For
other UNIX sockets, it is a right arrow followed by the
endpoint's filename, or ``??'' if the endpoint could not
be determined.
FOREIGN ADDRESS (Internet sockets only) The address the foreign end of
the socket is bound to (see getpeername(2)).
Note that TCP sockets in the AF_INET or AF_INET6 domains that are not in
one of the LISTEN, SYN_SENT, or ESTABLISHED states may not be shown by
sockstat; use netstat(1) to examine them instead.
SEE ALSO
fstat(1), netstat(1), inet(4), inet6(4)
HISTORY
The sockstat command appeared in FreeBSD 3.1.
AUTHORS
The sockstat command and this manual page were written by Dag-Erling
FreeBSD 5.4 September 7, 2004 FreeBSD 5.4