$ cd ../
arp-watch — bash

user@devops:~$ cat README.md

arp-watch

# Descripción

arp-watch (cpp-arp-watch) es un monitor de la tabla ARP del kernel Linux escrito en C++23 sin dependencias externas. Lee /proc/net/arp para decodificar IP, HW type, flags hex, MAC, mask e interfaz. Flags ATF_*: C=complete (MAC valida), P=permanent, p=publish/proxy ARP, T/N/D. Clasifica estados REACH vs INCOMP y MACs multicast (bit I/G), broadcast ff:ff:ff:ff:ff:ff y locally-administered (bit U/L). Agregados: entries, complete, incomplete, permanent, publish, mcast/bcast e ifaces. Orden: interfaz, completas primero, IP. Modo watch (--watch N) con deltas de conteo entre snapshots. Salida JSON (--json) con summary + array neighbors validable. --demo multi-iface (eth0, br-lan, docker0, wlan0). Filtros --iface IF y --incomplete. --no-color con paleta ANSI mutable (0 escapes en pipes). Selftest 45 checks: flags, parse MAC, parser de tabla (salta comentarios #), demo, JSON, lectura real de /proc. Zero deps: g++ -std=c++23 -O2 -Wall -Wextra.

# Características principales

$ Lectura de /proc/net/arp: IP, MAC, flags ATF_*, HW type e interfaz

$ Flags C=complete P=permanent p=publish T/N/D (linux/if_arp.h)

$ Clasificacion MAC unicast / multicast / broadcast / locally-administered

$ Estados REACH vs INCOMP para vecinos pendientes de resolver

$ Modo watch (--watch N) con deltas de entries/complete/incomplete

$ Salida JSON (--json) con summary + array neighbors validable con python -m json.tool

$ --demo multi-iface (eth0/br-lan/docker0/wlan0) y --no-color con 0 codigos ANSI en pipes

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

# Galería

Terminal del proyecto
arp-watch - Terminal del proyecto
Vista movil
arp-watch - Vista movil

# Tecnologías utilizadas

C++23