Como leio a saída do tcpdump tão rapidamente quanto ela é impressa no terminal?

Como leio a saída do tcpdump tão rapidamente quanto ela é impressa no terminal?

Ao executar o tcpdump na linha de comando, os pacotes aparecem em tempo real à medida que são recebidos. No entanto, quando o tcpdump é canalizado para qualquer coisa, ele recorre à saída em buffer. As opções -le -Usão fornecidas para permitir a configuração disso. No entanto, acho que não importa quais opções eu defina, o resultado nunca é tão rápido quanto executar a partir da CLI bruta. Eu tentei Python com subprocesso, tee e até mesmo um wrapper Rust. Os pacotes sempre parecem ser produzidos em lotes.

Alguma ideia?

Responder1

O tcpdump agora possui o --immediate-mode, o que resolveu esse problema para mim. Para fazê-lo funcionar, usei-o em conjunto com o -l.

Veresta resposta.

informação relacionada