$ cd ../
sockstat-watch — bash

user@devops:~$ cat README.md

sockstat-watch

# Descripción

sockstat-watch (cpp-sockstat-watch) es un monitor de estadisticas de sockets del kernel Linux escrito en C++23 sin dependencias externas. Lee /proc/net/sockstat y /proc/net/sockstat6 para obtener: contador global sockets used, y por protocolo (TCP, UDP, UDPLITE, RAW, FRAG + variantes IPv6) los campos inuse, orphan, tw (TIME_WAIT), alloc y mem (paginas del kernel, x4 KiB). Resume agregados: total inuse, TIME_WAIT, orphans y memoria de sockets con conversion automatica a KiB/MiB/GiB. Incluye barra ASCII de presion TIME_WAIT relativa a soft-limit 2000 (alerta de agotamiento de puertos efimeros bajo trafico corto-vivido). Modo watch (--watch N) con deltas entre snapshots (+N/-N en sockets, inuse, tw, orphan). Salida JSON (--json) con timestamp, totales y array protocols validable con python3 -m json.tool. --demo con carga sintetica alta (842 sockets, TW 1550). --no-color con paleta ANSI mutable (0 codigos en pipes). Selftest interno: parser de lineas sockstat, demo, JSON, lectura real de /proc y modo sin color. Zero dependencias: g++ -std=c++23 -O2 -Wall -Wextra.

# Características principales

$ Lectura de /proc/net/sockstat + sockstat6: sockets used y por protocolo TCP/UDP/RAW/FRAG (+IPv6)

$ Campos TCP ricos: inuse, orphan, TIME_WAIT (tw), alloc y mem en paginas del kernel

$ Barra de presion TIME_WAIT vs soft-limit 2000 — alerta de agotamiento de puertos efimeros

$ Modo watch (--watch N) con deltas entre snapshots en sockets, inuse, tw y orphans

$ Salida JSON (--json) con snapshot completo: totales + array protocols validable

$ --demo con carga sintetica alta y --no-color con paleta ANSI mutable (0 escapes en pipes)

$ Selftest: parser de lineas, demo, JSON, lectura real de /proc y chequeo --no-color

$ Zero dependencias: compilacion directa con g++ -std=c++23, ideal para contenedores y VMs

# Galería

Terminal del proyecto
sockstat-watch - Terminal del proyecto
Vista movil
sockstat-watch - Vista movil

# Tecnologías utilizadas

C++23