Я запускаю zeek/bro для отдельных файлов pcap с параметром командной строки -r inputfile.pcap
. Как я могу получить доступ к имени файла этого входного файла в скрипте bro? Я хотел бы переименовать conn.log в inputfile_conn.log.
Zeek (Bro) переименовать журнал в соответствии с входным файлом
Ответы (1)
Насколько я могу судить, это невозможно. Во-первых, кажется, что вы можете передать несколько файлов pcap для zeek в командной строке, и все они открываются параллельно. В этом случае не будет правильного ответа на вопрос «какой pcap обрабатывается?» В любом случае, я не могу найти способ, который бы выставлялся скриптам.
Я бы порекомендовал вам обойти это, обернув zeek скриптом, который помещает имя файла в переменную среды. Затем в сценарии вы можете использовать getenv
для получения значения, хранящегося в переменной среды.
person
Gil Hamilton
schedule
07.12.2019
Это правильно. Источник ввода-вывода (программа чтения pcap) знает имя файла, когда это применимо, но не раскрывает его. Вы можете полностью обработать переименование вне Zeek (что я предлагаю здесь) или частично перенести его в сценарий Zeek, чтобы вы могли правильно настроить переименование журнала. Также имейте в виду, что существует не только conn.log, поэтому вы можете переименовать и другие журналы.
- person Christian; 09.12.2019