---
name: "sockstat"
section: "1"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/sockstat"
---

# sockstat(1)

list open sockets

## NAME

**sockstat** – list open sockets

## SYNOPSIS

**sockstat** \[**--libxo**\] \[**-46AbCcfIiLlnqSsUuvw**\] \[**-F** *user*\] \[**-j** *jail*\] \[**-p** *ports*\] \[**-P** *protocols*\]

## DESCRIPTION

The **sockstat** command lists open Internet or UNIX domain sockets.

The following options are available:

- **--libxo**

  Generate output via [libxo(3)](/libxo/3.md) in a selection of different human and machine readable formats. See [xo\_options(7)](/xo_options/7.md) for details on command line arguments.

- **-4**

  Show AF\_INET (IPv4) sockets.

- **-6**

  Show AF\_INET6 (IPv6) sockets.

- **-A**

  Show the address of a protocol control block (PCB) associated with a socket; used for debugging.

- **-b**

  Show BBLog related information for the socket. This is currently only implemented for TCP.

- **-C**

  Display the congestion control module, if applicable. This is currently only implemented for TCP.

- **-c**

  Show connected sockets.

- **-F** *user*

  Show sockets for specified *user* (user name or UID) only.

- **-f**

  Show the FIB number of each socket.

- **-I**

  Show the local address of the socket to which the current socket is spliced, if any. See the [setsockopt(2)](/setsockopt/2.md) SO\_SPLICE option for more information.

- **-i**

  Display the inp\_gencnt.

- **-j** *jail*

  Show only sockets belonging to the specified jail ID or name.

- **-L**

  Only show Internet sockets if the local and foreign addresses are not in the loopback network prefix 127.0.0.0/8, or do not contain the IPv6 loopback address ::1.

- **-l**

  Show listening sockets.

- **-n**

  Do not resolve numeric UIDs to user names.

- **-p** *ports*

  Only show Internet sockets if 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.

- **-P** *protocols*

  Only show sockets of the specified *protocols*. The *protocols* argument is a comma-separated list of protocol names. Recognized protocols are "tcp", "sctp", "udp", "udplite", "unix/stream", "unix/dgram", "unix/seqpack", and "divert".

- **-q**

  Quiet mode, do not print the header line.

- **-S**

  Display the protocol stack, if applicable. This is currently only implemented for TCP.

- **-s**

  Display the protocol state, if applicable. This is currently only implemented for SCTP and TCP.

- **-U**

  Display the remote UDP encapsulation port number, if applicable. This is currently only implemented for SCTP and TCP.

- **-u**

  Show AF\_LOCAL (UNIX) sockets.

- **-v**

  Verbose mode.

- **-w**

  Automatically size the columns.

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, datagram, or seqpacket) for UNIX sockets.

- LOCAL ADDRESS

  For Internet sockets, this is the address the local end of the socket is bound to (see [getsockname(2)](/getsockname/2.md)).

  For bound UNIX sockets, socket's filename is printed. For not bound UNIX sockets, the field is empty.

- FOREIGN ADDRESS

  For Internet sockets, this is the address the foreign end of the socket is bound to (see [getpeername(2)](/getpeername/2.md)).

  For bound UNIX sockets a left arrow followed by the peer list is printed. For UNIX sockets that went through [connect(2)](/connect/2.md) system call a right arrow followed by the peer is printed. Peers are printed in square brackets as \[PID FD\].

- ID

  The inp\_gencnt if **-i** is specified (only for TCP or UDP).

- ENCAPS

  The remote UDP encapsulation port number if **-U** is specified (only for SCTP or TCP).

- PATH STATE

  The path state if **-s** is specified (only for SCTP). When using traditional text output, this column is only shown when there is at least one path state to show.

- CONN STATE

  The connection state if **-s** is specified (only for SCTP or TCP).

- BBLOG STATE

  The BBLog state if **-b** is specified (only for TCP).

- BBLOG NUM

  The number of BBLog entries currently being stored at the endpoint if **-b** is specified (only for TCP).

- BBLOG LIM

  The maximum number of BBLog entries which can be stored at the endpoint if **-b** is specified (only for TCP).

- BBLOG SN

  The next BBLog sequence number to be assigned if **-b** is specified (only for TCP).

- STACK

  The protocol stack if **-S** is specified (only for TCP).

- CC

  The congestion control if **-C** is specified (only for TCP).

If a socket is associated with more than one file descriptor, it is shown multiple times. If a socket is not associated with any file descriptor, the first four columns have no meaning.

## EXAMPLES

Show information for IPv4 sockets listening on port 22 using protocol TCP:

```
$ sockstat -4 -l -P tcp -p 22
```

Show information for sockets using either TCP or UDP, if neither, the local nor the foreign addresses are in the loopback network:

```
$ sockstat -L -P tcp,udp
```

Show TCP IPv6 sockets which are listening and connected (default):

```
$ sockstat -6 -P tcp
```

Show all listening [unix(4)](/unix/4.md) datagram sockets:

```
$ sockstat -P unix/dgram -l
```

Show all sockets in JSON format with neat alignment:

```
$ sockstat --libxo json,pretty
```

## SEE ALSO

[fstat(1)](/fstat/1.md), [netstat(1)](/netstat/1.md), [procstat(1)](/procstat/1.md), [setfib(1)](/setfib/1.md), [libxo(3)](/libxo/3.md), [divert(4)](/divert/4.md), [inet(4)](/inet/4.md), [inet6(4)](/inet6/4.md), [sctp(4)](/sctp/4.md), [tcp(4)](/tcp/4.md), [udp(4)](/udp/4.md), [unix(4)](/unix/4.md), [xo\_options(7)](/xo_options/7.md)

## HISTORY

The **sockstat** command appeared in FreeBSD 3.1.

## AUTHORS

The **sockstat** command and this manual page were written by Dag-Erling Smørgrav ⟨*des@FreeBSD.org*⟩.
