При запуске tcpdump в командной строке пакеты отображаются в реальном времени по мере их получения. Однако, когда tcpdump передается по каналу, он использует буферизованный вывод. Опции -l
и -U
предоставлены, чтобы разрешить настройку этого. Однако я считаю, что независимо от того, какие параметры я установил, результат никогда не будет таким же быстрым, как при работе с необработанным интерфейсом командной строки. Я пробовал Python с подпроцессом, тройником и даже оболочкой Rust. Пакеты всегда отображаются в виде пакетов.
Есть идеи?