unified2

Screenshot Software:
unified2
Szczegóły programowe:
Wersja: 12.07.0
Filmu: 20 Feb 15
Wywoływacz: Mike Kazantsev
Licencja: Wolny
Popularność: 5

Rating: 4.0/5 (Total Votes: 1)

unified2 jest czysta-Python parser dla IDS (myślę [Snort] (http://snort.org)) unified2 binarnym formacie dziennika.
Moduł pozwala na przetwarzanie IDS logi w formacie binarnym "unified2" do obiektów Pythona.
To nie rozwiąże identyfikatory reguł i nie ma być zamiennikiem dla barnyard2 lub samego Snort w tej roli.
Głównym celem jest wydobycie pakietowego z dziennika, związane z niektórymi szczególności wywołane (i rozwiązane / zalogowany oddzielnie za pośrednictwem innych środków, np alert_syslog lub alert_csv modułów Snort) zasady, więc nie zwracał uwagi na metadanych zdarzeń przetwarzania.
Moduł nie posiada elementy C i nie używa ctypes, więc powinno być dość przenośne do implementacji języka spoza CPython.
Format
Definicja formatu pochodzi od Snort nagłówków (src / sfutil / Unified2_common.h) poprzez moduł pyclibrary i są buforowane w unified2 / _format.py pliku.
Nowsze definicje (powiedzmy, jeśli zostały dodane nowe typy danych) mogą być generowane przez uruchomienie samego skryptu na Snort jest Unified2_common.h:
& 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
instalacji
To Zwykły pakiet dla Pythona 2.7 (nie 3.X).
Korzystanie pip jest najlepszy sposób:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip install unified2
Jeśli go nie masz, użyj:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install pip
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip install unified2
Ewentualnie zobacz także:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Zwijają https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip install unified2
Albo, jeśli absolutnie musi:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install unified2
Ale, tak naprawdę, nie powinieneś tego robić.
Aktualna wersja-git może być zainstalowany tak:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Pip install -e "git: //github.com/mk-fg/unified2.git#egg=unified2"
Zastosowanie
Prosty przykład:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Import unified2.parser
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; dla ev, ev_tail w 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 "Wydarzenie: ', ev
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; jeśli ev_tail: "ogona Wydarzenie: 'do druku, ev_tail
Obiekt zdarzenia o to dict metadanych i "ogon", który może być zarówno blob lub podobne rekurencyjnie-analizowany krotka metadanych-dict i "ogon" (np UNIFIED2_EXTRA_DATA).
Interfejs unified2.parser.Parser najlepiej ilustruje funkcji unified2.parser.read:
& 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; jeśli nie 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; while True:
                        buff_agg, ev = parser.process (buff_agg)
                        jeśli ev jest brak: przerwa
                        Wydajność ev
Chodzi o to, że metoda Parser.read powinien być nazywany strumieniem (np obiekt pliku), wracając jednak wiele bajtów parser musi dostać następną parsowalnym porcji danych (jeden pakiet, w przypadku dziennika u2) lub cokolwiek można odczytać W tej chwili pusty ciąg jest zwykle wskazanie EOF, a może nie blokując czytać zamian.
Parser.process to powinno nazywać się skumulowanej (przez Parser.read nazywa) buforem, zwracając pierwszy pakiet, który może być analizowany stamtąd (lub None, jeśli bufor nie jest wystarczająco duży), a pozostałe dane (nie)-analizowany buforowe.

Wymagania :

  • Python

Podobne oprogramowanie

GKrellM Volume
GKrellM Volume

3 Jun 15

cloudwatch-robot
cloudwatch-robot

20 Feb 15

TuxGuardian
TuxGuardian

3 Jun 15

Inne programy z deweloperem Mike Kazantsev

django-unhosted
django-unhosted

20 Feb 15

aura
aura

20 Feb 15

python-onedrive
python-onedrive

12 Apr 15

Komentarze do unified2

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!