unified2

Software skärmdump:
unified2
Mjukvaruinformation:
Version: 12.07.0
Ladda upp dagen: 20 Feb 15
Utvecklare: Mike Kazantsev
Licens: Gratis
Popularitet: 69

Rating: 4.5/5 (Total Votes: 2)

unified2 är en ren-Python-tolk för IDS (tror [Snort] (http://snort.org)) unified2 binära loggformat.
Modul möjliggör att bearbeta IDS loggar i binärt "unified2" format till python objekt.
Det löser inte regel ids och är inte avsett att vara en ersättning för barnyard2 eller Snort själv i den rollen.
Huvudsyftet är att utvinna en paketdata från loggen, i samband med vissa särskilda utlöst (och lösas / loggade separat via andra medel, t.ex. alert_syslog eller alert_csv Snort moduler) regeln, så jag har inte betalat mycket uppmärksamhet åt bearbetning händelse metadata.
Modul saknar C-komponenter och använder inte ctypes, så borde vara ganska portabel till icke-cPython språk implementationer.
Format
Format definition kommer från Snort rubriker (src / sfutil / Unified2_common.h) via pyclibrary modul och cachelagras i unified2 / _format.py filen.
Nyare definitioner (säg, om nya datatyper tillkom) kan genereras genom att köra samma skript 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 är en vanlig paket för Python 2.7 (ej 3.x).
Använda pip är det bästa sättet:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip installera unified2
Om du inte har det, använd:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install pip
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip installera unified2
Alternativt se även:
& 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 installera unified2
Eller, om du absolut måste:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install unified2
Men, du borde verkligen inte göra det.
Ström git versionen kan installeras så här:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % PIP installera -e 'git: //github.com/mk-fg/unified2.git#egg=unified2'
Användning
Enkelt exempel:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; import unified2.parser
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; för ev, ev_tail i 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 "Händelse: ', ev
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Om ev_tail: print "Händelse tail: ', ev_tail
Event-objekt här är en dict av metadata och en "svans", som antingen kan vara en klump eller liknande rekursivt-analyserad tupel av metadata-dict och "svans" (t.ex. för UNIFIED2_EXTRA_DATA).
unified2.parser.Parser gränssnittet illustreras bäst genom den unified2.parser.read funktion:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; parser, buff_agg = Parser (), ''
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; medan sant:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; brungul = parser.read (src)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; om inte polera: bryta # 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; medan sant:
                        buff_agg, ev = parser.process (buff_agg)
                        Om ev är Ingen: break
                        utbyte ev
Tanken här är att Parser.read metoden bör kallas med en ström (t.ex. en fil-objekt), återvänder dock många bytes parser måste få nästa parseable bit av data (ett paket, i händelse av u2 logg) eller vad kan läsas just nu är tom sträng oftast en indikation på EOF eller kanske icke-blockerande läst avkastning.
Parser.process då bör kallas med ackumulerade (av Parser.read samtal) buffert, åter det första paketet som kan tolkas däri (eller Ingen om bufferten inte är tillräckligt stort) och resterande buffertdata (-analyserad icke).

Krav :

  • Python

Liknande mjukvara

arbtt
arbtt

14 Apr 15

Keystroke
Keystroke

17 Feb 15

SmokePing
SmokePing

2 Jun 15

conntrack-tools
conntrack-tools

20 Feb 15

Annan programvara för utvecklare Mike Kazantsev

django-unhosted
django-unhosted

20 Feb 15

graphite-metrics
graphite-metrics

20 Feb 15

aura
aura

20 Feb 15

Kommentarer till unified2

Kommentarer hittades inte
Kommentar
Slå på bilder!