Печать предупреждений snort подпроцессаPython

Программы на Python
Anonymous
Печать предупреждений snort подпроцесса

Сообщение Anonymous »

Я использую подпроцесс popen для выполнения команды, запускающей прослушивание snort. Когда я выполняю это вручную, оповещения выводятся на стандартный вывод и отображаются на терминале. Однако при использовании popen оповещения не отображаются.

Код: Выделить всё

sniff_command = "sudo snort -A console -i enp0s3 -u snort -g snort -c /etc/snort/snort.conf"
sniff = sniff_command.split()

p = subprocess.Popen(sniff, stdout = subprocess.PIPE, stderr = subprocess.DEVNULL, bufsize = 1)

while True:
print(p.stdout.readline())

Пытался использовать p.stdout.readline(), как показано выше, но все равно ничего не напечатал. Ответы на другие вопросы, например, использование iter, кажутся неэффективными. Возможно, проблема возникает из-за того, что подпроцесс snort никогда не завершается? Действительно, в растерянности.
Похожий вопрос был задан 8 лет назад, но на него нет ответа: команда Snort запускается через скрипт Python
Также видел некоторые вопросы относительно асинхронности. Было бы лучше использовать это в подпроцессе?

Подробнее здесь: https://stackoverflow.com/questions/790 ... ort-alerts

Вернуться в «Python»