unified2

Screenshot Software:
unified2
Detalii soft:
Versiune: 12.07.0
Incarca data: 20 Feb 15
Producător: Mike Kazantsev
Licenţă: Gratuit
Popularitate: 5

Rating: 4.0/5 (Total Votes: 1)

unified2 este un interpretor-Python pur pentru IDS (cred [Snort] (http://snort.org)) unified2 format jurnal binar.
Modulul permite de a procesa busteni de IDS în format binar "unified2" în obiecte Python.
Ea nu se rezolvă ID-uri regulă și nu este menit să fie un înlocuitor pentru barnyard2 sau Snort în sine, în acel rol.
Scopul principal este de a extrage un pachet de date din jurnalul, asociate cu unele special declanșat (și rezolvate / conectat separat prin alte mijloace, de exemplu alert_syslog sau alert_csv module snort) regulă, așa că nu am plătit o atenție mult la metadate eveniment prelucrare.
Modulul nu are componente C și să nu utilizeze ctypes, deci ar trebui să fie destul de portabil pentru implementări non-cPython lingvistice.
Format
Definiție Format este derivat din anteturile Snort (src / sfutil / Unified2_common.h) prin modul pyclibrary și sunt în cache în fișier unified2 / _format.py.
Definiții mai noi (să zicem, în cazul în care s-au adăugat noi tipuri de date) pot fi generate prin rularea același script pe Unified2_common.h sforăit de:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; bzr ramură LP: pyclibrary
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cd pyclibrary
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; piton ... / unified2 / _format.py ... / snort-2.XYZ/src/sfutil/Unified2_common.h
Instalare
Este un pachet regulat pentru Python 2.7 (nu 3.X).
Utilizarea pip este cel mai bun mod:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip instala unified2
Dacă nu-l au, utilizați:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install pip
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip instala unified2
A se vedea, de asemenea, în mod alternativ:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Răsuci https://raw.github.com/pypa/pip/master/contrib/get-pip.py | piton
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip instala unified2
Sau, dacă absolut trebuie:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install unified2
Dar, tu chiar nu ar trebui să faci asta.
Versiunea actuală, git pot fi instalate ca aceasta:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip instala -e "git: //github.com/mk-fg/unified2.git#egg=unified2"
Utilizare
Exemplu simplu:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; unified2.parser import
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; pentru ev, ev_tail în unified2.parser.parse ("/ var / log / sforăit / snort.u2.1337060186"):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; print "Eveniment:", ev
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; în cazul în care ev_tail: print "Eveniment coada:", ev_tail
Obiect Event aici este o dict de metadate și o "coadă", care poate fi un pată de cerneală sau similară tuplu recursiv analizat-a metadatelor-dict și "coada" (de exemplu, pentru UNIFIED2_EXTRA_DATA).
interfață unified2.parser.Parser este cel mai bine ilustrat de funcția de unified2.parser.read:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; parser, buff_agg = Parser (), ''
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; în timp ce Adevărat:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; piele de bivol = parser.read (src)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; dacă nu piele de bivol: rupe # EOF
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; buff_agg + = piele de bivol
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; în timp ce Adevărat:
                        buff_agg, ev = parser.process (buff_agg)
                        dacă ev este Niciunul: pauză
                        randament ev
Ideea aici este că metoda Parser.read ar trebui să fie numit cu un curent (de exemplu, un obiect fișier), revenind însă mulți bytes parser nevoie pentru a obține următoarea bucată parseable de date (un pachet, în caz de jurnal U2) sau orice poate fi citit în acest moment, șir gol este de obicei o indicație de întoarcere EOF sau poate nu-blocare citit.
Parser.process atunci ar trebui să fie numit cu acumulată (de Parser.read apeluri) tampon, revenind primul pachet care poate fi analizat de acolo (sau Nici unul, dacă tampon nu este suficient de mare) și restul de date (-analizat non) tampon.

Cerințe :

  • Python

Software similare

yacpi
yacpi

2 Jun 15

OpMon
OpMon

12 May 15

likwid
likwid

20 Feb 15

gocept.thermosnake
gocept.thermosnake

12 May 15

Alte software-uri de dezvoltator Mike Kazantsev

aura
aura

20 Feb 15

graphite-metrics
graphite-metrics

20 Feb 15

django-unhosted
django-unhosted

20 Feb 15

Comentarii la unified2

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!