Contexto, no solo resultados
Cada observación se contrasta con el inventario existente. Los cambios de IP, nombre, actividad o servicios pasan a formar parte del historial del dispositivo en vez de reemplazar silenciosamente el dato anterior.
Especificaciones avanzadas · 0.3.1-beta.2
LANCTL unifica descubrimiento, inventario, cableado, racks, credenciales y monitorización continua de una LAN. Sus aplicaciones comparten servicios, identificadores y configuración, pero mantienen separados los datos de cada dominio para poder trabajar en paralelo con límites claros.
PS› lanip project use Casa.vlf
Proyecto activo: Red de casa
PS› lanip list --accurate --active
18 equipos · 15 activos · 3 cambios
PS› lanrack show RK-00
U24 SW-CORE switch online
U20 NAS-01 storage online
01 · Visión del sistema
LANCTL no se limita a enumerar direcciones IP. Construye un inventario lógico centrado en la MAC, conserva evidencias y registra cómo evoluciona cada elemento. Alias, fabricante, grupos, puertos, protocolos y estado CNF quedan asociados a esa identidad y pueden viajar dentro de un proyecto.
Cada observación se contrasta con el inventario existente. Los cambios de IP, nombre, actividad o servicios pasan a formar parte del historial del dispositivo en vez de reemplazar silenciosamente el dato anterior.
Los elementos marcados como recurrentes se reconocen por su identidad estable aunque aparezcan en otra LAN. Su catálogo es privado, se guarda en los datos locales y nunca se empaqueta en los binarios públicos.
Los proyectos .vlf reúnen inventario SQLite, configuración,
topología lógica, auditoría y hashes. Pueden verificarse, actualizarse
transaccionalmente y trasladarse sin depender de la instalación.
El diagnóstico es inocuo por defecto. Las acciones que cambian estado, abren accesos o afectan a equipos remotos exigen autoridad explícita, validación de parámetros y, cuando corresponde, confirmación humana.
02 · Arquitectura
CLI, consola persistente y TUI consumen los mismos servicios. La GUI antigua está congelada y no se incluye en los binarios actuales. La lógica de red, los modelos y la persistencia permanecen separados de la presentación, de modo que un escaneo iniciado desde una interfaz produce el mismo inventario y los mismos eventos que desde cualquier otra.
| Capa | Responsabilidad | Garantía principal |
|---|---|---|
| Presentación | Representar inventario, detalle, actividad y órdenes. | No duplica reglas de negocio. |
| Core | Identidad, configuración, credenciales, consultas y tareas. | Validación central y comportamiento coherente. |
| Servicios | Descubrimiento, escaneo, monitorización y eventos. | Resultados estructurados y trazables. |
| Persistencia | Inventario, métricas, configuración y proyectos. | Bloqueos interproceso y sustitución atómica. |
| Extensiones | Complementos LCP, permisos, eventos y paneles. | Capacidades declaradas y activación explícita. |
03 · Aplicaciones paralelas
LANCTL funciona como orquestador de una suite. Sus aplicaciones pueden permanecer abiertas en paralelo, comparten identificadores, configuración y una misma raíz de datos, pero cada dominio mantiene la propiedad de su información y utiliza servicios transaccionales para coordinarse.
Descubrimiento, dispositivos, diagnóstico y operaciones de red mediante lanip o lanctl ip.
Cables, puertos, paneles y enlaces viven en physical/idf.db, separados del inventario lógico.
Consulta la base física en modo de solo lectura para representar racks y sus ocupantes.
Administra usuarios y secretos DPAPI sin mostrar contraseñas; LANIP consume referencias autorizadas.
Expone estado, eventos, historial, alertas e incidencias sobre el runtime de monitorización.
Aplicación reservada para una fase posterior; no forma parte de las 6 aplicaciones actuales.
lanip --tui
lanwire list
lanrack show RK-00
lanaccess --tui
lanmon
04 · Descubrimiento y diagnóstico
Los perfiles fast, normal y accurate
equilibran tiempo y cobertura. El operador también puede fijar timeout,
concurrencia, orden de recorrido, número máximo de hosts, reintentos y
resolución de servicios para redes pequeñas o segmentos más exigentes.
Prioriza ARP y tiempos de espera breves para localizar cambios evidentes con poca latencia.
Combina ICMP y ARP con una relación equilibrada entre cobertura, carga y duración.
Añade reintentos, nombres, WS-Discovery y proveedores de descubrimiento habilitados.
lanip list --normal --active
lanip list --accurate --progress
lanip ephemeral --normal
lanip -e --fast --range 192.168.1.0/24
lanip settings --workers 64 --timeout 0.8 --scan-order ascending
lanip scan CAM1 --identify
lanip list --where "active and group=IOT and vendor~Amazon"
lanip list --format html --output inventario.html
ephemeral realiza una exploración aislada: detecta dispositivos sin modificar proyectos ni inventarios.
La identificación de servicios combina banners y sondas inocuas. Un puerto abierto por sí solo no se presenta como identificación concluyente: LANCTL conserva producto, nivel de confianza y evidencia observada.
05 · Backend Monitor
El motor Monitor puede ejecutarse durante una sesión diagnóstica o quedar instalado en un nodo permanente, como una Raspberry Pi. Un scheduler monotónico coordina comprobaciones, aplica histéresis para evitar falsos cambios y transforma las anomalías persistentes en incidencias consultables.
lanctl monitor profile create storage --presence 30s --services 10m --deep 6h
lanctl monitor assign NAS --profile storage --priority critical
lanctl monitor session start --project Casa.vlf --duration 30m --mode diagnostic
lanctl monitor status --json
lanctl monitor report latest
06 · Acceso remoto controlado
El acceso remoto está pensado para la propia LAN y requiere configuración explícita. SSH y HTTPS comparten usuarios, roles y permisos, pero mantienen autenticadores separados: claves públicas para SSH y hashes Scrypt para la web. Habilitar un canal no habilita automáticamente el otro.
Bind a una IP LAN concreta, validación por CIDR y ausencia de apertura automática de puertos, NAT o UPnP.
Varias cuentas con roles diferenciados, sesiones revocables y auditoría sin credenciales predeterminadas.
SSH expone el subsistema LANCTL, no una shell del sistema; HTTPS exige TLS, CSRF y origen explícito.
lanip access init
lanip access configure ssh --bind 192.168.1.5 --cidr 192.168.1.0/24 --port 2222
lanip access user add operador --role operator --ssh-key operador.pub
lanip access configure https --bind 192.168.1.5 --cidr 192.168.1.0/24 --port 8443
lanip access certificate --common-name lanctl.local
lanip access enable ssh
lanip access enable https
Los certificados autogenerados son autofirmados. Su huella debe distribuirse mediante un canal confiable. La recuperación de cuentas es siempre local y no existe una puerta de acceso remota oculta.
07 · Integraciones operativas
Las funciones estrechamente ligadas a la operación se exponen como comandos coherentes, mientras que los proveedores opcionales pueden distribuirse como complementos LCP con permisos declarados y activación consciente.
wol NAME envía paquetes mágicos y admite repetición, espera,
condiciones AND/OR/NOT y secuencias con dependencias. Las operaciones de
apagado o reinicio requieren transporte SSH y credencial configurada.
Detecta grupos de trabajo, carpetas e impresoras compartidas; permite abrir recursos con el explorador y conserva las credenciales fuera de los argumentos de proceso. SMB1 no se activa.
Abre Radmin Viewer en control, vista, archivos, chat o terminal utilizando sus opciones documentadas. Los secretos se delegan al phonebook de Radmin y nunca se insertan en la línea de comandos.
La capa gestionada de switching valida el catálogo, prepara una vista previa y solicita confirmación para cambios sensibles antes de ejecutar el plan.
lanctl wol PC --if offline --repeat 3 --wait 60
lanctl wol sequence startup.office run
lanctl smb NAS shares
lanctl smb NAS open Public --dry-run
lanctl radmin PC --mode control --dry-run
08 · Datos, trazabilidad y seguridad
LANCTL separa instalación, datos operativos y secretos. Las escrituras sobre JSON y VLF usan bloqueos interproceso, archivos temporales, sincronización y sustitución atómica. SQLite emplea transacciones y WAL cuando hay concurrencia.
| Dato | Formato | Finalidad |
|---|---|---|
| Inventario lógico | JSON transaccional + SQLite dentro de VLF | Identidad, direcciones, servicios, grupos y atributos. |
| Cableado físico | SQLite · physical/idf.db |
Identificadores, racks, puertos, paneles y conexiones de LANWIRE. |
| Proyecto | VLF 1.0 / ZIP verificable | Transportar una LAN con metadatos, auditoría y hashes SHA-256. |
| Actividad | JSONL + log legible | Consultar eventos por elemento, fecha, tipo, origen o resultado. |
| Monitorización | SQLite WAL | Sesiones, estado, métricas, agregados e incidencias. |
| Credenciales | Almacén cifrado | Mantener secretos fuera de logs, procesos y repositorio. |
history NAME muestra la cronología asociada a la identidad
del equipo. Puede filtrar por fechas, origen, tipo, resultado, errores y
texto, además de exportar a tabla, JSON o CSV.
project verify comprueba estructura, límites, rutas internas,
integridad SQLite, hash funcional y checksum general antes de modificar
el contenedor.
09 · Instalación y despliegue
GitHub Releases distribuye artefactos por plataforma y arquitectura con comprobación SHA-256. La instalación estándar integra PATH y accesos; el modo Monitor prepara el servicio; la variante portable mantiene sus datos junto al ejecutable sin alterar el sistema.
| Modalidad | Plataforma | Modelo de datos |
|---|---|---|
| Standard | Windows / Linux | Datos del usuario fuera de Program Files u /opt. |
| Monitor | Windows / Linux / Raspberry Pi OS | Datos y secretos del servicio en rutas protegidas independientes. |
| Portable | Windows / Linux | data/lanctl dentro de la carpeta portable. |
# Windows PowerShell
irm https://raw.githubusercontent.com/CctrGy/LANCTL/main/install.ps1 -OutFile install.ps1
.\install.ps1 -Channel beta
# Linux / Raspberry Pi OS 64-bit
curl --proto '=https' --tlsv1.2 -fsSLo install.sh \
https://raw.githubusercontent.com/CctrGy/LANCTL/main/install.sh
sudo bash install.sh --channel beta
Código y versiones
El repositorio reúne el código, la documentación técnica, los contratos VLF/LCP, las pruebas y el sistema de empaquetado para Windows, Linux y Raspberry Pi OS.