xref: /freebsd/usr.bin/sockstat/sockstat.1 (revision 0946e70a3b60dec23922cf3e0c313cb0917fee0a)
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 June 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 46cLlSsUuvw
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
60Show connected sockets.
61.It Fl j Ar jail
62Show only sockets belonging to the specified jail ID or name.
63.It Fl L
64Only show Internet sockets if the local and foreign addresses are not
65in the loopback network prefix
66.Li 127.0.0.0/8 ,
67or do not contain the IPv6 loopback address
68.Li ::1 .
69.It Fl l
70Show listening sockets.
71.It Fl p Ar ports
72Only show Internet sockets if the local or foreign port number
73is on the specified list.
74The
75.Ar ports
76argument is a comma-separated list of port numbers and ranges
77specified as first and last port separated by a dash.
78.It Fl P Ar protocols
79Only show sockets of the specified
80.Ar protocols .
81The
82.Ar protocols
83argument is a comma-separated list of protocol names,
84as they are defined in
85.Xr protocols 5 .
86.It Fl q
87Quiet mode, do not print the header line.
88.It Fl S
89Display the protocol stack, if applicable.
90This is currently only implemented for TCP.
91.It Fl s
92Display the protocol state, if applicable.
93This is currently only implemented for SCTP and TCP.
94.It Fl U
95Display the remote UDP encapsulation port number, if applicable.
96This is currently only implemented for SCTP.
97.It Fl u
98Show
99.Dv AF_LOCAL
100.Pq Ux
101sockets.
102.It Fl v
103Verbose mode.
104.It Fl w
105Use wider field size for displaying addresses.
106.El
107.Pp
108If neither
109.Fl 4 , 6
110or
111.Fl u
112is specified,
113.Nm
114will list sockets in all three domains.
115.Pp
116If neither
117.Fl c
118or
119.Fl l
120is specified,
121.Nm
122will list both listening and connected sockets.
123.Pp
124The information listed for each
125socket is:
126.Bl -tag -width "FOREIGN ADDRESS"
127.It Li USER
128The user who owns the socket.
129.It Li COMMAND
130The command which holds the socket.
131.It Li PID
132The process ID of the command which holds the socket.
133.It Li FD
134The file descriptor number of the socket.
135.It Li PROTO
136The transport protocol associated with the socket for Internet
137sockets, or the type of socket
138.Pq stream, datagram, or seqpacket
139for
140.Ux
141sockets.
142.It Li LOCAL ADDRESS
143For Internet sockets, this is the address the local end of the socket
144is bound to (see
145.Xr getsockname 2 ) .
146For bound
147.Ux
148sockets, it is the socket's filename.
149For other
150.Ux
151sockets, it is a right arrow followed by the endpoint's filename, or
152.Dq Li ??
153if the endpoint could not be determined.
154.It Li FOREIGN ADDRESS
155(Internet sockets only)
156The address the foreign end of the socket is bound to (see
157.Xr getpeername 2 ) .
158.It Li ENCAPS
159The remote UDP encapsulation port number if
160.Fl U
161is specified (only for SCTP).
162.It Li PATH STATE
163The path state if
164.Fl s
165is specified (only for SCTP).
166.It Li CONN STATE
167The connection state if
168.Fl s
169is specified (only for SCTP or TCP).
170.It Li STACK
171The protocol stack if
172.Fl S
173is specified (only for TCP).
174.El
175.Pp
176If a socket is associated with more than one file descriptor,
177it is shown multiple times.
178If a socket is not associated with any file descriptor,
179the first four columns have no meaning.
180.Sh EXAMPLES
181Show information for IPv4 sockets listening on port 22 using protocol
182TCP:
183.Bd -literal -offset indent
184$ sockstat -4 -l -P tcp -p 22
185.Ed
186.Pp
187Show information for sockets using either TCP or UDP, if neither, the local nor
188the foreign addresses are in the loopback network:
189.Bd -literal -offset indent
190$ sockstat -L -P tcp,udp
191.Ed
192.Pp
193Show TCP IPv6 sockets which are listening and connected (default):
194.Bd -literal -offset indent
195$ sockstat -6 -P tcp
196.Ed
197.Sh SEE ALSO
198.Xr fstat 1 ,
199.Xr netstat 1 ,
200.Xr procstat 1 ,
201.Xr inet 4 ,
202.Xr inet6 4 ,
203.Xr protocols 5
204.Sh HISTORY
205The
206.Nm
207command appeared in
208.Fx 3.1 .
209.Sh AUTHORS
210The
211.Nm
212command and this manual page were written by
213.An Dag-Erling Sm\(/orgrav Aq Mt des@FreeBSD.org .
214