Zeek (Bro) переименовать журнал в соответствии с входным файлом

Я запускаю zeek/bro для отдельных файлов pcap с параметром командной строки -r inputfile.pcap. Как я могу получить доступ к имени файла этого входного файла в скрипте bro? Я хотел бы переименовать conn.log в inputfile_conn.log.


person user1520506    schedule 27.11.2019    source источник


Ответы (1)


Насколько я могу судить, это невозможно. Во-первых, кажется, что вы можете передать несколько файлов pcap для zeek в командной строке, и все они открываются параллельно. В этом случае не будет правильного ответа на вопрос «какой pcap обрабатывается?» В любом случае, я не могу найти способ, который бы выставлялся скриптам.

Я бы порекомендовал вам обойти это, обернув zeek скриптом, который помещает имя файла в переменную среды. Затем в сценарии вы можете использовать getenv для получения значения, хранящегося в переменной среды.

person Gil Hamilton    schedule 07.12.2019
comment
Это правильно. Источник ввода-вывода (программа чтения pcap) знает имя файла, когда это применимо, но не раскрывает его. Вы можете полностью обработать переименование вне Zeek (что я предлагаю здесь) или частично перенести его в сценарий Zeek, чтобы вы могли правильно настроить переименование журнала. Также имейте в виду, что существует не только conn.log, поэтому вы можете переименовать и другие журналы. - person Christian; 09.12.2019