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 -l
e -U
sã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.