Cuando se ejecuta tcpdump en la línea de comando, los paquetes aparecen en tiempo real a medida que se reciben. Sin embargo, cuando tcpdump se canaliza a cualquier cosa, recurre a la salida almacenada en el búfer. Las opciones -l
y -U
se proporcionan para permitir la configuración de esto. Sin embargo, encuentro que no importa qué opciones establezca, el resultado nunca es tan rápido como ejecutar desde la CLI sin formato. Probé Python con subproceso, tee e incluso un contenedor Rust. Los paquetes siempre parecen salir en lotes.
¿Algunas ideas?
Respuesta1
tcpdump ahora tiene --immediate-mode
, lo que me resolvió este problema. Para que funcione, lo usé junto con -l
.
Veresta respuesta.