xref: /freebsd/usr.bin/sockstat/sockstat.1 (revision e2eeea75eb8b6dd50c1298067a0655880d186734)
1.\"-
2.\" Copyright (c) 1999 Dag-Erling Coïdan Smørgrav
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer
10.\"    in this position and unchanged.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\" 3. The name of the author may not be used to endorse or promote products
15.\"    derived from this software without specific prior written permission.
16.\"
17.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27.\"
28.\" $FreeBSD$
29.\"
30.Dd September 13, 2020
31.Dt SOCKSTAT 1
32.Os
33.Sh NAME
34.Nm sockstat
35.Nd list open sockets
36.Sh SYNOPSIS
37.Nm
38.Op Fl 46CcLlSsUuvw
39.Op Fl j Ar jid
40.Op Fl p Ar ports
41.Op Fl P Ar protocols
42.Sh DESCRIPTION
43The
44.Nm
45command lists open Internet or
46.Ux
47domain sockets.
48.Pp
49The following options are available:
50.Bl -tag -width Fl
51.It Fl 4
52Show
53.Dv AF_INET
54(IPv4) sockets.
55.It Fl 6
56Show
57.Dv AF_INET6
58(IPv6) sockets.
59.It Fl C
60Display the congestion control module, if applicable.
61This is currently only implemented for TCP.
62.It Fl c
63Show connected sockets.
64.It Fl j Ar jail
65Show only sockets belonging to the specified jail ID or name.
66.It Fl L
67Only show Internet sockets if the local and foreign addresses are not
68in the loopback network prefix
69.Li 127.0.0.0/8 ,
70or do not contain the IPv6 loopback address
71.Li ::1 .
72.It Fl l
73Show listening sockets.
74.It Fl p Ar ports
75Only show Internet sockets if the local or foreign port number
76is on the specified list.
77The
78.Ar ports
79argument is a comma-separated list of port numbers and ranges
80specified as first and last port separated by a dash.
81.It Fl P Ar protocols
82Only show sockets of the specified
83.Ar protocols .
84The
85.Ar protocols
86argument is a comma-separated list of protocol names,
87as they are defined in
88.Xr protocols 5 .
89.It Fl q
90Quiet mode, do not print the header line.
91.It Fl S
92Display the protocol stack, if applicable.
93This is currently only implemented for TCP.
94.It Fl s
95Display the protocol state, if applicable.
96This is currently only implemented for SCTP and TCP.
97.It Fl U
98Display the remote UDP encapsulation port number, if applicable.
99This is currently only implemented for SCTP.
100.It Fl u
101Show
102.Dv AF_LOCAL
103.Pq Ux
104sockets.
105.It Fl v
106Verbose mode.
107.It Fl w
108Use wider field size for displaying addresses.
109.El
110.Pp
111If neither
112.Fl 4 , 6
113or
114.Fl u
115is specified,
116.Nm
117will list sockets in all three domains.
118.Pp
119If neither
120.Fl c
121or
122.Fl l
123is specified,
124.Nm
125will list both listening and connected sockets.
126.Pp
127The information listed for each
128socket is:
129.Bl -tag -width "FOREIGN ADDRESS"
130.It Li USER
131The user who owns the socket.
132.It Li COMMAND
133The command which holds the socket.
134.It Li PID
135The process ID of the command which holds the socket.
136.It Li FD
137The file descriptor number of the socket.
138.It Li PROTO
139The transport protocol associated with the socket for Internet
140sockets, or the type of socket
141.Pq stream, datagram, or seqpacket
142for
143.Ux
144sockets.
145.It Li LOCAL ADDRESS
146For Internet sockets, this is the address the local end of the socket
147is bound to (see
148.Xr getsockname 2 ) .
149For bound
150.Ux
151sockets, it is the socket's filename.
152For other
153.Ux
154sockets, it is a right arrow followed by the endpoint's filename, or
155.Dq Li ??
156if the endpoint could not be determined.
157.It Li FOREIGN ADDRESS
158(Internet sockets only)
159The address the foreign end of the socket is bound to (see
160.Xr getpeername 2 ) .
161.It Li ENCAPS
162The remote UDP encapsulation port number if
163.Fl U
164is specified (only for SCTP).
165.It Li PATH STATE
166The path state if
167.Fl s
168is specified (only for SCTP).
169.It Li CONN STATE
170The connection state if
171.Fl s
172is specified (only for SCTP or TCP).
173.It Li STACK
174The protocol stack if
175.Fl S
176is specified (only for TCP).
177.It Li CC
178The congestion control if
179.Fl C
180is specified (only for TCP).
181.El
182.Pp
183If a socket is associated with more than one file descriptor,
184it is shown multiple times.
185If a socket is not associated with any file descriptor,
186the first four columns have no meaning.
187.Sh EXAMPLES
188Show information for IPv4 sockets listening on port 22 using protocol
189TCP:
190.Bd -literal -offset indent
191$ sockstat -4 -l -P tcp -p 22
192.Ed
193.Pp
194Show information for sockets using either TCP or UDP, if neither, the local nor
195the foreign addresses are in the loopback network:
196.Bd -literal -offset indent
197$ sockstat -L -P tcp,udp
198.Ed
199.Pp
200Show TCP IPv6 sockets which are listening and connected (default):
201.Bd -literal -offset indent
202$ sockstat -6 -P tcp
203.Ed
204.Sh SEE ALSO
205.Xr fstat 1 ,
206.Xr netstat 1 ,
207.Xr procstat 1 ,
208.Xr inet 4 ,
209.Xr inet6 4 ,
210.Xr protocols 5
211.Sh HISTORY
212The
213.Nm
214command appeared in
215.Fx 3.1 .
216.Sh AUTHORS
217The
218.Nm
219command and this manual page were written by
220.An Dag-Erling Sm\(/orgrav Aq Mt des@FreeBSD.org .
221