unified2

Software screenshot:
unified2
Software detaljer:
Version: 12.07.0
Upload dato: 20 Feb 15
Udvikler: Mike Kazantsev
Licens: Gratis
Popularitet: 5

Rating: 4.0/5 (Total Votes: 1)

unified2 er en ren-Python parser for IDS (tror [Snort] (http://snort.org)) unified2 binær log format.
Modul gør det muligt at behandle IDS logs i binær "unified2" format i Python objekter.
Det løser ikke regel id'er og er ikke tænkt som en erstatning for barnyard2 eller Snort selv i den rolle.
Hovedformål er at udtrække en pakke data fra loggen, der er forbundet med nogle særlige udløst (og løst / logget separat via andre midler, f.eks alert_syslog eller alert_csv Snort moduler) regel, så jeg har ikke betalt meget vægt på behandling begivenhed metadata.
Modul ikke har C-komponenter og ikke benytter ctypes, så burde være temmelig bærbar til ikke-cPython sprog implementeringer.
Format
Format definition stammer fra Snort headers (src / sfutil / Unified2_common.h) via pyclibrary modul og er cached i unified2 / _format.py fil.
Nyere definitioner (f.eks hvis nye data blev tilføjet) kan genereres ved at køre det samme manuskript på Snort s Unified2_common.h:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; BZR gren 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
Installation
Det er en almindelig pakke til Python 2.7 (ikke 3.X).
Brug pip er den bedste måde:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip installere unified2
Hvis du ikke har det, skal du bruge:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install pip
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip installere unified2
Alternativt se også:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Krøller https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip installere unified2
Eller, hvis du absolut skal:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install unified2
Men, du virkelig ikke bør gøre det.
Nuværende-git version kan installeres på denne måde:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip installere -e 'git: //github.com/mk-fg/unified2.git#egg=unified2'
Anvendelse
Simpelt eksempel:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; import unified2.parser
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; for ev, ev_tail i unified2.parser.parse ('/ var / log / fnys / snort.u2.1337060186 «):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; print 'Begivenhed:', ev
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; hvis ev_tail: print 'Begivenhed hale: », ev_tail
Begivenhed objekt her er en dict af metadata og en "hale", som enten kan være en klat eller lignende rekursivt-parset tupel af metadata-dict og "hale" (f.eks UNIFIED2_EXTRA_DATA).
unified2.parser.Parser interface er bedst illustreres ved unified2.parser.read funktion:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; parser, buff_agg = Parser (), ''
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; mens Sand:
& 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; hvis ikke buff: break # 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; mens Sand:
                        buff_agg, ev = parser.process (buff_agg)
                        hvis ev er None: break
                        udbytte ev
Idéen her er at Parser.read metode skal kaldes med en strøm (fx en fil objekt), vender tilbage uanset hvor mange bytes parser behov for at få den næste parseable luns af data (en pakke, i tilfælde af u2 log) eller hvad kan læses I øjeblikket tom streng er normalt et tegn på EOF eller måske ikke-blokerende læst afkast.
Parser.process så skal kaldes med akkumuleret (ved Parser.read opkald) buffer, vender tilbage den første pakke, der kan tolkes derfra (eller Ingen, hvis buffer ikke er stort nok) og resterende buffer data (-parset ikke).

Krav :

  • Python

Lignende software

Qps
Qps

2 Jun 15

instax
instax

20 Feb 15

Andre software developer Mike Kazantsev

graphite-metrics
graphite-metrics

20 Feb 15

aura
aura

20 Feb 15

python-onedrive
python-onedrive

12 Apr 15

Kommentarer til unified2

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!