2016-11-21 20 views
0

Я создал сценарий bro с целью извлечения всех файлов для всех возможных протоколов из файла pcap. Но я не хочу писать все журналы. Bro создает файл журнала для каждого протокола. Пример: «http.log», «smtp.log» и т. Д. Даже генерируется «weird.log». Мои файлы pcap большие (20 гб), поэтому каждый файл журнала содержит более 30 Мб информации. Это генерация журнала снижает производительность извлечения файла. Я могу отключить «conn.log» с помощью строки Log::disable_stream(Conn::LOG), но как насчет всех протоколов? Это мой сценарийBro: отключить генерацию всех журналов

@load base/files/extract 

event bro_init() 
    { 
     Log::disable_stream(Conn::LOG); 

    } 

event file_sniff(f: fa_file, meta: fa_metadata) 
    { 
    local ext = ""; 

    if (meta?$mime_type) 
     ext = split_string(meta$mime_type, /\//)[1]; 
    local fname = fmt("%s-%s.%s", f$source, f$id, ext); 
    Files::add_analyzer(f, Files::ANALYZER_EXTRACT, [$extract_filename=fname]); 
    } 
+1

Работает ли в Bro в режиме * bare * mode? То есть, попробуйте передать '-b' в командной строке. – mavam

+0

Документы говорят: Голый режим загружает только минимальное количество сценариев, чтобы сохранить работоспособность и оставляет нагрузку на загрузку необходимых скриптов в исполняемый скрипт. Когда я запускаю bro с этими параметрами, он ничего не делает. Даже вызов печати в первой строке события file_sniff. Что это значит? –

+0

Голый нос не загружает никаких скриптов. Если вам требуется извлечение файла, вам нужно сделать это вручную, передав его в командной строке. – mavam

ответ

0

Вы можете использовать none писателя так:

bro -r packets.pcap Log::default_writer=Log::WRITER_NONE 

Я не совсем уверен, что написание этих журналов вредит вашу производительность в любом реальном пути, хотя. Как правило, запись файлов на диск является причиной больших накладных расходов.