unified2

Tela Software:
unified2
Detalhes de Software:
Versão: 12.07.0
Data de upload: 20 Feb 15
Revelador: Mike Kazantsev
Licença: Livre
Popularidade: 5

Rating: 4.0/5 (Total Votes: 1)

unified2 é um parser-Python puro para IDS (acho que [Snort] (http://snort.org)) unified2 formato log binário.
Módulo permite processar IDS registros em formato binário "unified2" em objetos python.
Ele não resolve ids de regras e não se destina a ser um substituto para barnyard2 ou a própria Snort nesse papel.
O objectivo principal é extrair dados por pacotes a partir do log, associados a alguns especial desencadeada (e resolvido / conectado separadamente através de outros meios, por exemplo alert_syslog ou alert_csv módulos Snort) regra, então eu não ter dado muita atenção aos metadados evento de processamento.
Módulo não tem componentes C e não usa ctypes, por isso deve ser bastante portátil para implementações de linguagem não-CPython.
Formato
Definição de formato é derivado de cabeçalhos Snort (src / sfutil / Unified2_common.h) via módulo pyclibrary e são armazenados em cache no arquivo unified2 / _format.py.
Definições mais recentes (por exemplo, se foram adicionados novos tipos de dados) pode ser gerado através da execução do mesmo script em Unified2_common.h do Snort:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; bzr branch lp: pyclibrary
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cd pyclibrary
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; python ... / unified2 / _format.py ... / snort-2.XYZ/src/sfutil/Unified2_common.h
Instalação
É um pacote regular para Python 2.7 (não 3.x).
Usando pip é a melhor maneira:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip instalar unified2
Se você não tem isso, use:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install pip
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip instalar unified2
Alternativamente veja também:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Onda https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip instalar unified2
Ou, se você absolutamente deve:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install unified2
Mas, você realmente não deveria fazer isso.
Versão atual-git pode ser instalado como este:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip instalar -e 'git: //github.com/mk-fg/unified2.git#egg=unified2'
Uso
Um exemplo simples:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; unified2.parser importação
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; para ev, ev_tail em 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; se ev_tail: 'cauda Evento:' print, ev_tail
Objeto de evento aqui é um dicionário de metadados e uma "cauda", que tanto pode ser uma bolha ou uma tupla de forma recursiva-analisado semelhante de metadados-dict e "cauda" (por exemplo, para UNIFIED2_EXTRA_DATA).
Interface unified2.parser.Parser é melhor ilustrado pela função unified2.parser.read:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; parser, buff_agg = Parser (), ''
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; while True:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; lustre = parser.read (src)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; se não lustrar: quebrar # EOF
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; buff_agg + = lustre
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; while True:
                        buff_agg, ev = parser.process (buff_agg)
                        se ev é None: ruptura
                        ev rendimento
Idéia aqui é que método Parser.read deve ser chamado com um fluxo (por exemplo, um objeto de arquivo), retornando no entanto muitos bytes parser precisa para obter o próximo pedaço parseable de dados (um pacote, no caso de log u2) ou o que pode ser lido no momento, cadeia vazia é geralmente uma indicação de retorno ler EOF ou talvez sem bloqueio.
Parser.process então deve ser chamado com acumulada (por Parser.read chama) tampão, retornando o primeiro pacote que pode ser analisado a partir de lá (ou Nenhum, se buffer não é grande o suficiente) e restantes dados de buffer (não-analisada).

Requisitos :

  • Python

Programas semelhantes

FunkLoad
FunkLoad

11 May 15

celerymon
celerymon

20 Feb 15

ZABBIX
ZABBIX

22 Jun 18

OpenSMART
OpenSMART

11 May 15

Outro software de desenvolvedor Mike Kazantsev

python-onedrive
python-onedrive

12 Apr 15

django-unhosted
django-unhosted

20 Feb 15

aura
aura

20 Feb 15

Comentário para unified2

Comentários não encontrado
Adicionar comentário
Ligue imagens!