From 38e6ff18fa02211737eb56d41054e90f502b156d Mon Sep 17 00:00:00 2001 From: Vitor Henrique <87824454+vitorhcl@users.noreply.github.com> Date: Mon, 15 Jan 2024 06:59:11 -0300 Subject: [PATCH] sockstat: split FreeBSD, NetBSD and Linux implementations (#12040) * 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 Co-authored-by: Juri Dispan Co-authored-by: cyqsimon <28627918+cyqsimon@users.noreply.github.com> --- pages/common/sockstat.md | 8 -------- pages/freebsd/sockstat.md | 36 ++++++++++++++++++++++++++++++++++++ pages/linux/sockstat.md | 29 +++++++++++++++++++++++++++++ pages/netbsd/sockstat.md | 26 ++++++++++++++++++++++++++ 4 files changed, 91 insertions(+), 8 deletions(-) delete mode 100644 pages/common/sockstat.md create mode 100644 pages/freebsd/sockstat.md create mode 100644 pages/linux/sockstat.md create mode 100644 pages/netbsd/sockstat.md diff --git a/pages/common/sockstat.md b/pages/common/sockstat.md deleted file mode 100644 index 665f9beff..000000000 --- a/pages/common/sockstat.md +++ /dev/null @@ -1,8 +0,0 @@ -# sockstat - -> List open Internet or UNIX domain sockets. -> More information: . - -- View which users/processes are listening to which ports: - -`sockstat -l` diff --git a/pages/freebsd/sockstat.md b/pages/freebsd/sockstat.md new file mode 100644 index 000000000..6073b8ee7 --- /dev/null +++ b/pages/freebsd/sockstat.md @@ -0,0 +1,36 @@ +# sockstat + +> List open Internet or UNIX domain sockets. +> More information: . + +- 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` diff --git a/pages/linux/sockstat.md b/pages/linux/sockstat.md new file mode 100644 index 000000000..cdb0850a7 --- /dev/null +++ b/pages/linux/sockstat.md @@ -0,0 +1,29 @@ +# sockstat + +> List open Internet or UNIX domain sockets. +> See also: `netstat`. +> More information: . + +- 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}}` diff --git a/pages/netbsd/sockstat.md b/pages/netbsd/sockstat.md new file mode 100644 index 000000000..037f8cae5 --- /dev/null +++ b/pages/netbsd/sockstat.md @@ -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: . + +- 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}}`