Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Decoders, 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.

0 de 5 · 0%

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?

Inicia sesión para registrar tus puntos y progreso en el ranking.

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