$ cd ../
route-watch — bash

user@devops:~$ cat README.md

route-watch

# Descripción

route-watch (cpp-route-watch) es un monitor de la tabla de rutas del kernel Linux escrito en C++23 sin dependencias externas. Lee /proc/net/route (IPv4) y /proc/net/ipv6_route (IPv6) para decodificar destinos, gateways, mascaras/prefijos, flags y metricas por interfaz. IPv4: hex little-endian del kernel a dotted-quad (ej. 010110AC → 172.16.1.1) y prefijo CIDR desde genmask. IPv6: hex network-order %pi6 con compresion :: (ej. ...0001 → ::1) — distinto del formato LE de /proc/net/tcp6. Clasifica defaults, rutas via gateway (flag G) y host routes (flag H). Agregados: conteo IPv4/IPv6, default v4/v6, via-gateway y host routes. Orden: defaults primero, luego prefijo mas especifico y metrica. Modo watch (--watch N) con deltas de conteo entre snapshots. Salida JSON (--json) con summary + arrays ipv4/ipv6 validable. --demo multi-iface (eth0, docker0, wg0, tun0, br-lan). Filtros --ipv4/--ipv6. --no-color con paleta ANSI mutable (0 escapes en pipes). Selftest 44 checks: decode hex, parser de tablas, demo, JSON, lectura real de /proc. Zero deps: g++ -std=c++23 -O2 -Wall -Wextra.

# Características principales

$ Lectura de /proc/net/route + ipv6_route: destinos, gateways, flags, metricas e ifaces

$ Decode IPv4 hex LE del kernel a dotted-quad y prefijo CIDR desde genmask

$ Decode IPv6 %pi6 network-order con compresion :: (distinto de tcp6 LE)

$ Clasificacion de defaults, rutas via gateway (UG) y host routes (UH)

$ Modo watch (--watch N) con deltas de conteo IPv4/IPv6/default entre snapshots

$ Salida JSON (--json) con summary + arrays ipv4/ipv6 validable con python -m json.tool

$ --demo multi-iface (eth0/docker0/wg0/tun0) y --no-color con 0 codigos ANSI en pipes

$ Selftest 44 checks + zero dependencias: g++ -std=c++23 directo

# Galería

Terminal del proyecto
route-watch - Terminal del proyecto
Vista movil
route-watch - Vista movil

# Tecnologías utilizadas

C++23