Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
SuricataLog — Analiza, filtra y visualiza registros eve.json de Suricata con herramientas CLI para alertas, flujos, DNS y cargas útiles. Incluye un tutorial para aprender Suricata y probar reglas. | Kitploit
Herramientas/GitHubGitHub/josevnz/suricatalog
Seguridad de RedesDetección de IntrusionesAprendizaje y EducaciónAnálisis de Registros
GitHubjosevnz/suricatalog

SuricataLog

Analiza, filtra y visualiza registros eve.json de Suricata con herramientas CLI para alertas, flujos, DNS y cargas útiles. Incluye un tutorial para aprender Suricata y probar reglas.

Ver Repositorio
27387hace 21 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
# SuricataLog

[![Downloads](https://pepy.tech/badge/suricatalog)](https://pepy.tech/project/suricatalog)

Cuando empecé a aprender a usar [Suricata](https://suricata.io/) rápidamente descubrí que necesitaba una herramienta para inspeccionar el archivo eve.json; la mayoría de los tutoriales
y la documentación disponible sugerían instalar un stack para realizar las siguientes tareas:
1. Almacenar los logs en una ubicación central
2. Normalizar y enriquecer los eventos, especialmente las alertas
3. Usar un frontend para sumergirse en los datos

Lo cual es muy útil, pero ¿y si solo necesitaba hacer una inspección rápida de los eventos?

Tarde o temprano te [morirás de aburrimiento](https://suricata.readthedocs.io/en/suricata-6.0.0/output/eve/eve-json-examplesjq.html) haciendo esto:

```shell
cat eve.json | jq -r -c 'select(.event_type=="alert")|.payload'| base64 --decode
```

SuricataLog es un conjunto de herramientas/scripts para parsear y mostrar archivos de log de Suricata (como /var/log/suricata/eve.json)

El [formato Eve JSON](https://suricata.readthedocs.io/en/suricata-6.0.0/output/eve/eve-json-format.html) no es muy complejo,
así que escribí algunos scripts con las características que pensé que serían más útiles para el análisis de mi red doméstica.

Como bonus, escribí mi experiencia de aprendizaje como un [tutorial](https://github.com/josevnz/suricatalog/blob/dependabot/uv/uv-1176edd47e/TUTORIAL.md) que puedes usar para aprender sobre Suricata y también cómo probarlo.

## Instalación desde Pypi

### Instalación desde Pypi.org

```shell
uv pip install SuricataLog
```

### Instalación desde el código fuente

```shell
git clone [email protected]:josevnz/SuricataLog.git
cd SuricataLog
uv build
uv pip install dist/suricatalog-1.1.6-py3-none-any.whl
```

### Instalación para desarrolladores

¿Así que quieres contribuir? ¿O encontraste un bug y crees que puedes enviar un parche? ¡Genial! Esto es lo que puedes hacer para ejecutar en modo desarrollo:

```shell
git clone [email protected]:josevnz/SuricataLog.git
cd SuricataLog
uv build
uv sync --dev
uv pip install --editable .
```

Ejecutar las pruebas unitarias es muy fácil después de eso:
```shell
(SuricataLog) [josevnz@dmaf5 SuricataLog]$ python -m unittest test/*.py
.........
----------------------------------------------------------------------
Ran 9 tests in 0.334s

OK
```

Si las pruebas unitarias fallan, entonces este es probablemente el primer lugar donde arreglar un problema.

También recomiendo ejecutar la consola de textualize y observar los mensajes de la consola:

```shell
# textual console
textual console --exclude SYSTEM --exclude EVENT
```

Luego en otra terminal:

```shell
textual run --dev --command eve_log --timestamp '2015-01-01 10:41:21.642899' test/eve.json
```
Eso imprimirá incluso los mensajes de depuración en la consola (puedes excluirlos si reinicias la consola con '--exclude DEBUG')

### Creando una imagen Docker

Por favor revisa [DOCKER.md](https://github.com/josevnz/suricatalog/blob/dependabot/uv/uv-1176edd47e/DOCKER.md) para más detalles.

## Ejecutando los scripts

Una vez que todo esté instalado en tu entorno virtual deberías poder llamar a los scripts

Puedes descubrir qué aplicaciones se instalaron usando el autocompletado, después de activar tu entorno virtual:

```shell
eve_[tab][tab]
```

Y si instalas la extensión de autocompletado de Bash también obtendrás algunas sugerencias para los flags.


### Parser simple de logs EVE

Mejor velo por ti mismo (recuerda, usa --help para aprender qué opciones están soportadas)

#### Formato de tabla:

![suricatalog-eve_log-table.png](https://assets.kitploit.com/production/public/readmes/5224/36d374e417cb4637fd40793343069f7091de579f771eea6d5567f60537b16711.png)

````shell
eve_log --timestamp '2015-01-01 10:41:21.642899' --formats TABLE test/eve.json
````

### Reportes predefinidos con eve_json.py

```shell
(suricatalog) [josevnz@dmaf5 SuricataLog]$ eve_json --help
usage: eve_json [-h] [--nxdomain | --payload | --flow | --netflow NETFLOW | --useragent] eve [eve ...]

This script is inspired by the examples provided on [15.1.3. Eve JSON ‘jq’ Examples](https://suricata.readthedocs.io/en/suricata-6.0.0/output/eve/eve-json-
examplesjq.html) A few things: * The output uses colorized JSON

positional arguments:
  eve                Path to one or more /var/log/suricata/eve.json file to parse.

optional arguments:
  -h, --help         show this help message and exit
  --nxdomain         Show DNS records with NXDOMAIN
  --payload          Show alerts with a printable payload
  --flow             Aggregated flow report per protocol and destination port
  --netflow NETFLOW  Get the netflow for a given IP address
  --useragent        Top user agent in HTTP traffic
```

Echa un vistazo a algunos ejemplos a continuación:

#### NXDOMAIN

![suricatalog-eve_json-nxdomain.png](https://assets.kitploit.com/production/public/readmes/5224/2139a0ce5fa4d3ae3a9b3a283cbb9303569472b51920e8d0452d4bc1a797669f.png)

```shell
eve_json --nxdomain test/eve.json
```

#### PAYLOAD

![suricatalog-eve_json-payload.png](https://assets.kitploit.com/production/public/readmes/5224/00d98ad2b5576335419f798ad4010b0b8289386f9cd2c1814a75655fede8532b.png)

```shell
eve_json --payload ~/Downloads/eve.json
```

#### FLOW

![suricatalog_eve_json-flow.png](https://assets.kitploit.com/production/public/readmes/5224/3b08d3cb2232e0d7c21872280d64ceb1cf896a6f265176135ba23595ff96c4ea.png)

```shell
eve_json --flow test/eve_udp_flow.json
```

#### NETFLOW

![suricatalog_eve_json-netflow.png](https://assets.kitploit.com/production/public/readmes/5224/fee2c4ba36bb6da909f1bdcb596be556947af5e8dde1917945b0e6259333198e.png)

```shell
eve_json --netflow 224.0.0.251 test/eve_udp_flow.json
```

#### USERAGENT

![suricatalog-eve_json-useragent.png](https://assets.kitploit.com/production/public/readmes/5224/810561e21d2349edccb7a211c39fec35d408009490b7159d66e50e86a4f94a16.png)

```shell
eve_json --useragent test/eve.json
```

### Ejecutando aplicaciones eve_* en un navegador

![Suricata eve server, running eve* applications on a browser!](https://assets.kitploit.com/production/public/readmes/5224/091b64e8668b872df5748ab9409af0a401dcfdff8d0978c6e23e68baa49143ac.png)

Puedes ejecutar las aplicaciones de Suricata Log en un navegador usando el wrapper `eve_server`:

```shell
# Show the flow report on a eve.json file
eve_server --application eve_json -- --flow ~/eve.json

# Show NX domain report
eve_server --application eve_json -- --nxdomain ~/eve.json

# Inspect the eve.json records
eve_server --applications eve_log -- ~/eve.json
```

Necesitas pasar el '--' para indicarle al servidor que esas opciones pertenecen al eve_* subyacente que quieres llamar.

## Ejecutando desde Docker

También es posible ejecutar SuricataLog desde un contenedor Docker. Por favor revisa [DOCKER.md](https://github.com/josevnz/suricatalog/blob/dependabot/uv/uv-1176edd47e/DOCKER.md) para más detalles

## Ejecutando con uv

Si tienes uv, puedes simplemente hacer esto:

```shell
uvx --from SuricataLog eve_log /var/log/suricata/eve.json
uvx --from SuricataLog eve_json --useragent /var/log/suricata/eve.json
uvx --from SuricataLog eve_server --application eve_json -- --flow /var/log/suricata/eve.json
```

Ya te haces una idea.

## Autocompletado de Bash

Hice mi mejor esfuerzo por seguir [8.6 Programmable Completion](https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion.html#Programmable-Completion)

Proporcioné autocompletado para los flags más comunes. Puedes descubrir todos los flags pasando '--help' a cualquiera de los scripts.

### Instalación de los comandos de autocompletado
Puedes instalar el autocompletado de Bash para todos los scripts de SuricataLog. Solo ejecuta 'eve_autocomplete' y sigue las instrucciones:

```shell
eve_autocomplete --help
```

## Versiones soportadas

Trabajo en este proyecto en **mi tiempo libre** y no puedo soportar todas las combinaciones de Linux/Python que existen.
Este es mi banco de pruebas actual, y puede cambiar sin previo aviso

| SuricataLog | Supported | OS                               | Python    | Suricata |
|-------------|-----------|----------------------------------|-----------|----------|
| <= 0.8      | NO        | NA                               | <  3.8    | 6.04     |
| 0.9+        | NO        | fedora 37                        | => 3.11.4 | 6.04     |
| 0.9+        | NO        | Armbian 23.02.2 Jammy            | => 3.10.6 | 6.04     |
| 0.9+        | NO        | Ubuntu 20.04.4 LTS (Focal Fossa) | => 3.8.10 | 6.04     |
| 1.0.3+      | YES       | fedora 40                        | => 3.11.4 | 7.0.6    |

*Eres más que bienvenido a*:
* Enviar parches con nuevas características y correcciones de bugs.
* Abrir reportes de bugs. Sé lo más detallado posible, de lo contrario no tendré otra opción que cerrarlo.

## Tutoriales
* [Suricata, RaspberryPI4 y Python para asegurar tu red doméstica](https://github.com/josevnz/suricatalog/blob/dependabot/uv/uv-1176edd47e/TUTORIAL.md)
* [Usando SuricataLog para analizar tus eventos](https://github.com/josevnz/suricatalog/blob/dependabot/uv/uv-1176edd47e/Using_SuricataLog_to_analyze_your_events.md)
Descargar herramienta