unified2

Screenshot der Software:
unified2
Softwarebeschreibung:
Version: 12.07.0
Upload-Datum: 20 Feb 15
Entwickler: Mike Kazantsev
Lizenz: Frei
Popularität: 5

Rating: 4.0/5 (Total Votes: 1)

unified2 ist eine reine Python-Parser für IDS (denken [Snort] (http://snort.org)) unified2 Binärlogformat.
Modul ermöglicht die IDS-Protokolle im Binärformat "unified2" Format in Python-Objekte zu verarbeiten.
Dabei spielt es keine Regel-IDs zu lösen und ist nicht als Ersatz für barnyard2 oder Snort selbst in dieser Rolle sein.
Hauptzweck ist es, eine Paketdaten aus dem Protokoll, mit einigen besonderen ausgelöst verbunden extrahieren Regel (und gelöst / separat über andere Mittel, beispielsweise alert_syslog oder alert_csv Schnauben Module protokolliert), so habe ich nicht viel Aufmerksamkeit auf die Verarbeitung Ereignis Metadaten bezahlt.
Modul verfügt nicht über C-Komponenten und verwendet keine ctypes, so sollte ziemlich tragbar nicht CPython Sprache Implementierungen.
Format
Format Definition von Snort-Header (src / sfutil / Unified2_common.h) über pyclibrary Modul abgeleitet und in unified2 / _format.py Datei zwischengespeichert.
Neuere Definitionen (sagen wir, wenn neue Datentypen wurden hinzugefügt) können, indem Sie das gleiche Skript auf der Snort Unified2_common.h generiert werden:
& 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
Installation
Es ist auf einem regulären Paket für Python 2.7 (nicht 3.X).
Mit pip ist der beste Weg:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip installieren unified2
Wenn Sie es nicht haben, verwenden Sie:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install pip
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip installieren unified2
Alternativ finden Sie auch:
& 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 installieren unified2
Oder, wenn Sie unbedingt müssen:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install unified2
Aber, sollten Sie wirklich nicht tun.
Aktuelle git-Version kann wie folgt installiert werden:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip -e install 'git: //github.com/mk-fg/unified2.git#egg=unified2'
Verwendung
Einfaches Beispiel:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Import unified2.parser
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; für ev, ev_tail in 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 'Veranstaltung:', ev
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wenn ev_tail: print 'Ereignis Schwanz: "ev_tail
Ereignisobjekt ist hier ein dict von Metadaten und ein "Schwanz", der entweder ein Blob oder ein ähnliches rekursiv analysiert Tupel von Metadaten-dict und "Schwanz" (zB für UNIFIED2_EXTRA_DATA) sein kann.
unified2.parser.Parser Schnittstelle wird am besten durch die unified2.parser.read Funktion veranschaulicht:
& 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; Buff = parser.read (src)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wenn nicht polieren: 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; while True:
                        buff_agg, ev = parser.process (buff_agg)
                        wenn ev ist None: Pause
                        Ausbeute ev
Idee hier ist, dass Parser.read Methode sollte mit einem Strom bezeichnet werden (zB ein Dateiobjekt), der Rückkehr jedoch viele Bytes Parser benötigt, um den nächsten einzulesenden Datenpaket (ein Paket, bei u2 log) zu erhalten, oder was gelesen werden kann im Moment, ist leere Zeichenfolge in der Regel ein Hinweis auf EOF oder vielleicht nicht blockier gelesen Rückkehr.
Parser.process dann sollte akkumuliert (durch Parser.read nennt) Puffer bezeichnet werden und bringt das erste Paket, das von dort analysiert werden kann (oder keine, wenn Puffer ist nicht groß genug), und die verbleibenden (nicht-geparsten) Pufferdaten.

Anforderungen :

  • Python

Ähnliche Software

HP-HW-RAID
HP-HW-RAID

14 Apr 15

cp2fwbuilder
cp2fwbuilder

3 Jun 15

Sshguard
Sshguard

12 May 15

OpMon
OpMon

12 May 15

Andere Software von Entwickler Mike Kazantsev

aura
aura

20 Feb 15

django-unhosted
django-unhosted

20 Feb 15

python-onedrive
python-onedrive

12 Apr 15

graphite-metrics
graphite-metrics

20 Feb 15

Kommentare zu unified2

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!