unified2

Skjermbilde programvare:
unified2
Prog.varedetaljer:
Versjon: 12.07.0
Last opp dato: 20 Feb 15
Utvikler: Mike Kazantsev
Lisens: 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ærlogg format.
Modulen gjør det mulig å behandle IDS logger i binær "unified2" format til python stedene.
Det løser ikke regel IDer og er ikke ment å være en erstatning for barnyard2 eller Snort seg selv i den rollen.
Hovedformålet er å trekke ut en pakkedata fra loggen, assosiert med noen spesiell utløst (og løst / logget separat på andre måter, f.eks alert_syslog eller alert_csv Snort moduler) regelen, så jeg har ikke betalt mye oppmerksomhet til behandling event metadata.
Modulen har ikke C-komponenter og bruker ikke ctypes, så bør være ganske bærbare til ikke-cPython språk implementeringer.
Format
Format definisjon er avledet fra Snort overskrifter (src / sfutil / Unified2_common.h) via pyclibrary modul og blir lagret i unified2 / _format.py fil.
Nyere definisjoner (si, hvis nye datatyper ble lagt til) kan genereres ved å kjøre samme skript på Snort er 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
Installasjon
Det er en vanlig pakke for Python 2.7 (ikke 3.X).
Ved hjelp av pip er den beste måten:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip installere unified2
Hvis du ikke har det, kan du bruke:
& 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; % Curl 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 absolutt må:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install unified2
Men, du egentlig ikke burde gjøre det.
Current-git versjon kan installeres slik:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip installere -e 'git: //github.com/mk-fg/unified2.git#egg=unified2'
Bruk
Enkelt 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 / snøft / snort.u2.1337060186'):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; print 'Aktivitet:', ev
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; hvis ev_tail: print 'Hendelses hale:', ev_tail
Hendelsesobjekt her er en dict av metadata og en "hale", som enten kan være en blob eller en lignende rekursivt-analyseres tuppel av metadata-dict og "hale" (for eksempel for UNIFIED2_EXTRA_DATA).
unified2.parser.Parser grensesnittet illustreres best ved unified2.parser.read funksjon:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; parser, buff_agg = parser (), ''
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; mens Sant:
& 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 Sant:
                        buff_agg, ev = parser.process (buff_agg)
                        hvis ev er None: break
                        avkastning ev
Ideen her er at Parser.read metode bør kalles med en strøm (for eksempel en fil objekt), med retur imidlertid mange byte parser behov for å få den neste parseable mengde data (en pakke, i tilfelle av u2 log) eller hva kan leses i øyeblikket, er tom streng vanligvis en indikasjon på EOF eller kanskje ikke-blokker lese retur.
Parser.process da bør kalles med akkumulert (ved Parser.read kaller) buffer, returnerer den første pakken som kan analyseres derfra (eller Ingen, hvis buffer er ikke stor nok) og resterende (ikke-analyseres) buffer data.

Krav :

  • Python

Lignende programvare

KeyNote
KeyNote

3 Jun 15

cp2fwbuilder
cp2fwbuilder

3 Jun 15

CN=Monitor
CN=Monitor

20 Feb 15

WMChargemon
WMChargemon

3 Jun 15

Annen programvare fra utvikleren Mike Kazantsev

graphite-metrics
graphite-metrics

20 Feb 15

django-unhosted
django-unhosted

20 Feb 15

aura
aura

20 Feb 15

Kommentarer til unified2

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!