unified2

Software captura de pantalla:
unified2
Detalles de software:
Versión: 12.07.0
Fecha de carga: 20 Feb 15
Promotor: Mike Kazantsev
Licencia: Libre
Popularidad: 69

Rating: 4.5/5 (Total Votes: 2)

unified2 es un analizador en Python puro para la identificación (pensar [Snort] (http://snort.org)) unified2 formato de registro binario.
Módulo permite procesar IDS registros en formato binario "unified2" en objetos de Python.
No resuelve los identificadores de reglas y no pretende ser un sustituto de barnyard2 o sí Snort en ese papel.
El objetivo principal es extraer de paquetes de datos del registro, asociados a algunos en particular provocado (y resuelto / registra por separado a través de otros medios, por ejemplo alert_syslog o alert_csv módulos snort) regla, así que no he prestado mucha atención a los metadatos evento de procesamiento.
Módulo no tiene componentes C y no utiliza ctypes, por lo que debe ser bastante portátil para implementaciones de lenguajes no CPython.
Formato
Formato de definición se deriva de las cabeceras de Snort (src / sfutil / Unified2_common.h) a través del módulo pyclibrary y se almacenan en caché en el archivo unified2 / _format.py.
Definiciones más recientes (por ejemplo, si se han añadido nuevos tipos de datos) pueda ser obtenida mediante la ejecución de la misma secuencia de comandos en Unified2_common.h del Snort:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; bzr rama lp: pyclibrary
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; pyclibrary cd
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; python ... / unified2 / _format.py ... / snort-2.XYZ/src/sfutil/Unified2_common.h
Instalación
Es un paquete regular para Python 2.7 (no 3.X).
Utilizando pip es la mejor manera:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip instalar unified2
Si no lo tiene, utilice:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install pip
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip instalar unified2
Alternativamente véase también:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Rizo https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip instalar unified2
O, si es absolutamente necesario:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install unified2
Pero, realmente no deberías hacer eso.
Versión actual-git se puede instalar como esto:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip instalar -e 'git: //github.com/mk-fg/unified2.git#egg=unified2'
Uso
Un simple ejemplo:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; unified2.parser importación
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; para ev, ev_tail en unified2.parser.parse ('/ var / log / snort / snort.u2.1337060186'):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; print 'Evento:', ev
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; si ev_tail: 'cola Evento:' print, ev_tail
Objeto de evento que aquí hay una dict de metadatos y una "cola", que puede ser una burbuja o similar tupla recursiva analizado de metadatos-dict y "cola" (por ejemplo, para UNIFIED2_EXTRA_DATA).
interfaz unified2.parser.Parser se ilustra mejor por la función unified2.parser.read:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; parser, buff_agg = Analizador (), ''
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; while True:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; buff = parser.read (src)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; si no pulir: romper # EOF
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; buff_agg + = buff
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; while True:
                        buff_agg, ev = parser.process (buff_agg)
                        si ev es Ninguno: Rotura
                        ev rendimiento
Idea aquí es que el método Parser.read debe ser llamado con una corriente (por ejemplo, un objeto de archivo), volviendo sin embargo muchos bytes intérprete necesita obtener el siguiente trozo analizable de datos (un paquete, en caso de registro de u2) o lo que se puede leer por el momento, cadena vacía suele ser una indicación de rentabilidad leer EOF o tal vez no bloqueante.
Parser.process entonces debe ser llamado con (por Parser.read llama) búfer acumulado, volviendo el primer paquete que se puede analizar a partir de ahí (o Ninguno, si búfer no es suficientemente grande) y los datos restantes tampón (no-analizado).

Requisitos :

  • Python

Programas parecidos

Keystroke
Keystroke

17 Feb 15

diskfree
diskfree

3 Jun 15

Bungmeter
Bungmeter

3 Jun 15

PyEximon
PyEximon

3 Jun 15

Otro software de desarrollador Mike Kazantsev

graphite-metrics
graphite-metrics

20 Feb 15

django-unhosted
django-unhosted

20 Feb 15

aura
aura

20 Feb 15

Comentarios a la unified2

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!