🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónDecoders, de la línea a los campos
5 tareas · 40 min · Principiante
Una regla no lee texto: lee campos. Quien convierte la línea cruda en campos con nombre es el decoder, y si el decoder falla, la regla que dependía de él se queda sin nada que mirar, sin dar ningún error. En el Acuario Bahía Serena la aplicación de venta de entradas escribe cinco líneas y cuatro decoders propios intentan leerlas. Sigues el resultado de la prueba línea por línea y encuentras la que ningún decoder hijo supo leer. Todo es lectura de tablas ficticias; las expresiones son ilustrativas y no se ejecutan.
Objetivo de la sala
Una regla no lee texto: lee campos. Quien convierte la línea cruda en campos con nombre es el decoder, y si el decoder falla, la regla que dependía de él se queda sin nada que mirar, sin dar ningún error. En el Acuario Bahía Serena la aplicación de venta de entradas escribe cinco líneas y cuatro decoders propios intentan leerlas. Sigues el resultado de la prueba línea por línea y encuentras la que ningún decoder hijo supo leer. Todo es lectura de tablas ficticias; las expresiones son ilustrativas y no se ejecutan.Un decoder padre reconoce la familia de la línea, normalmente por el nombre del programa de la cabecera (program_name) o por un patrón inicial (prematch). Un decoder hijo declara quién es su padre con parent, y solo se prueba si el padre ya coincidió. El hijo lleva una expresión regex con grupos entre paréntesis y una etiqueta order con los nombres de los campos, en el mismo orden que los grupos.
Esta estructura ahorra trabajo: el padre descarta rápido todo lo que no es de su programa y los hijos distinguen los formatos de mensaje dentro de la familia. Los decoders propios se guardan en el archivo local de decoders del servidor, aparte de los del conjunto original.
Responde para continuar
¿Qué relación hay entre un decoder hijo y su padre?
Abre decoders_locales. Cada fila trae el nombre del decoder, su padre, la condición con la que reconoce la línea, la expresión y los nombres de campo. El decoder de la fila sin padre es la raíz de la familia.
Responde para continuar
Escribe el nombre del decoder padre del decoder `venta-cobro`.
Ver pista de ayuda
Consulta `SELECT * FROM decoders_locales` y lee la columna `parent` de esa fila.
La tabla resultado_de_logtest muestra lo que sale de la fase de decodificación de cada línea: el decoder que coincidió y los campos con su valor. Es la misma vista que da la herramienta de prueba de decoders y reglas del servidor, y es la forma correcta de comprobar un decoder antes de ponerlo en producción: se pasa una línea de muestra y se leen los campos, sin generar tráfico.
Localiza la línea L-05, de otro servidor, y lee el origen que se extrajo de ella.
Responde para continuar
Escribe el valor del campo `srcip` que se extrajo de la línea L-05.
Ver pista de ayuda
Mira la fila L-05 de `resultado_de_logtest`, columna `campos`.
Cuando el padre coincide pero ningún hijo lo hace, la línea queda decodificada a medias: el servidor sabe de qué programa es, pero no tiene campos. Una regla que dependa de srcuser o de srcip nunca va a disparar con esa línea. Por eso, mirar los campos de cada línea es una comprobación obligatoria y mirar solo el nombre del decoder no basta.
Compara las líneas crudas con el resultado de la prueba y encuentra la que quedó sin campos.
Responde para continuar
Escribe el identificador de la línea que quedó decodificada solo por el padre y sin campos.
Ver pista de ayuda
Busca en `resultado_de_logtest` la fila cuyo valor en `campos` es «(ninguno)».
Compara en lineas_crudas la línea que falló con L-02, que sí se decodificó, y con la expresión del decoder venta-login-fallido en decoders_locales. Las dos líneas dicen lo mismo y la expresión espera el usuario entre un tipo concreto de comillas.
Responde para continuar
¿Cuál es la causa más probable de que esa línea no se decodificara?
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.