Skip to content

Commit

Permalink
sockstat: split FreeBSD, NetBSD and Linux implementations (#12040)
Browse files Browse the repository at this point in the history
* sockstat: split FreeBSD, NetBSD and Linux implementations

---------

Co-authored-by: Sebastiaan Speck <12570668+sebastiaanspeck@users.noreply.github.com>
Co-authored-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>
Co-authored-by: Juri Dispan <juri.dispan@posteo.net>
Co-authored-by: cyqsimon <28627918+cyqsimon@users.noreply.github.com>
  • Loading branch information
5 people committed Jan 15, 2024
1 parent 5f02ba6 commit 38e6ff1
Show file tree
Hide file tree
Showing 4 changed files with 91 additions and 8 deletions.
8 changes: 0 additions & 8 deletions pages/common/sockstat.md

This file was deleted.

36 changes: 36 additions & 0 deletions pages/freebsd/sockstat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# sockstat

> List open Internet or UNIX domain sockets.
> More information: <https://man.freebsd.org/cgi/man.cgi?sockstat>.
- View which users/processes are [l]istening on which ports:

`sockstat -l`

- Show information for IPv[4]/IPv[6] sockets [l]istening on specific [p]orts using a specific [P]rotocol:

`sockstat -{{4|6}} -l -P {{tcp|udp|sctp|divert}} -p {{port1,port2...}}`

- Also show [c]onnected sockets, not resolving [n]umeric UIDs to user names and using a [w]ider field size:

`sockstat -cnw`

- Only show sockets that belong to a specific [j]ail ID or name in [v]erbose mode:

`sockstat -jv`

- Display the protocol [s]tate and the remote [U]DP encapsulation port number, if applicable (these are currently only implemented for SCTP and TCP):

`sockstat -sU`

- Display the [C]ongestion control module and the protocol [S]tack, if applicable (these are currently only implemented for TCP):

`sockstat -CS`

- 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:

`sockstat -L`

- Do not show the header ([q]uiet mode), showing [u]nix sockets and displaying the `inp_gencnt`:

`sockstat -qui`
29 changes: 29 additions & 0 deletions pages/linux/sockstat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# sockstat

> List open Internet or UNIX domain sockets.
> See also: `netstat`.
> More information: <https://manned.org/sockstat>.
- Show information for IPv4 and IPv6 sockets for both listening and connected sockets:

`sockstat`

- Show information for IPv[4]/IPv[6] sockets [l]istening on specific [p]orts using a specific p[R]otocol:

`sockstat -{{4|6}} -l -R {{tcp|udp|raw|unix}} -p {{port1,port2...}}`

- Also show [c]onnected sockets and [u]nix sockets:

`sockstat -cu`

- Only show sockets of the specified `pid` or process:

`sockstat -P {{pid|process}}`

- Only show sockets of the specified `uid` or user:

`sockstat -U {{uid|user}}`

- Only show sockets of the specified `gid` or group:

`sockstat -G {{gid|group}}`
26 changes: 26 additions & 0 deletions pages/netbsd/sockstat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# sockstat

> List open Internet or UNIX domain sockets.
> Note: this program is a rewrite for NetBSD 3.0 from FreeBSD's `sockstat`.
> See also: `netstat`.
> More information: <https://man.freebsd.org/cgi/man.cgi?sockstat>.
- Show information for IPv4, IPv6 and Unix sockets for both listening and connected sockets:

`sockstat`

- Show information for IPv[4]/IPv[6] sockets [l]istening on specific [p]orts using a specific [P]rotocol:

`sockstat -{{4|6}} -l -P {{tcp|udp|sctp|divert}} -p {{port1,port2...}}`

- Also show [c]onnected sockets, showing [u]nix sockets:

`sockstat -cu`

- Only show [n]umeric output, without resolving symbolic names for addresses and ports:

`sockstat -n`

- Only list sockets of the specified address [f]amily:

`sockstat -f {{inet|inet6|local|unix}}`

0 comments on commit 38e6ff1

Please sign in to comment.