GNU/Linux >> Tutoriales Linux >  >> Linux

tcpdump:rota los archivos de captura usando -G, -W y -C

Eso es porque escribiste -W 3 en lugar de -W 48 . Sin embargo, hay otros errores en su comando.

La opción -G significa:

-G rotate_seconds

      Si se especifica, gira el archivo de volcado especificado con -w opción cada rotate_seconds segundos. Los archivos guardados tendrán el nombre especificado por -w que debe incluir un formato de tiempo como lo define strftime(3). Si no se especifica un formato de hora, cada nuevo archivo sobrescribirá al anterior.

      Si se usa junto con el -C opción, los nombres de archivo tomarán la forma de 'archivo '.

Desde que escribiste -G 3 , rotarás esto cada 3 segundos, mientras indicas

...que captura 30 minutos de datos

Además, el esquema de nombres es incorrecto:de lo anterior,

Si se usa junto con el -C opción, los nombres de archivo tomarán la forma de 'archivo '.

Por lo tanto, no tiene sentido especificar el formato de hora para el nombre.

Además, el -C La opción no tiene argumento, mientras que, según la página del manual, debería:

tcpdump [ -AdDefIKlLnNOpqRStuUvxX ] [ -B tamaño_búfer ] [ -c contar ]
[ -C tamaño_archivo ] [ -G rotar_segundos ] [ -F archivo ][ -Yo interfaz ] [ -m módulo ] [ -M secreto ][ -r archivo ] [ -s snaplen ] [ -T tipo ] [ -w archivo ][ -W recuento de archivos ][ -E [email protected] algo:secreto,... ][ -s tipo de enlace de datos ] [ -z comando de posrotación ] [ -Z usuario ] [ expresión ]

La página del manual dice:

-C

      Antes de escribir un paquete sin procesar en un archivo guardado, verifique si el archivo es actualmente más grande que file_size y, si es así, cierre el archivo guardado actual y abra uno nuevo. Los archivos guardados después del primer archivo guardado tendrán el nombre especificado con -w bandera, con un número después, comenzando en 1 y continuando hacia arriba. Las unidades de file_size son millones de bytes (1,000,000 bytes, no 1,048,576 bytes).

Por lo tanto, debe especificar -C 100 para producir archivos de 100 MB.

Al final, su comando debería ser:

tcpdump -i en0 -w /var/tmp/trace -W 48 -G 1800 -C 100 -K -n

Esto rotará los archivos (de nombres trace1, trace2, ...) cíclicamente, con un período de 48, ya sea cada 1800 segundos (=30 minutos) o cada 100 MB, lo que ocurra primero.


Ampliando la respuesta de flabdablet (cambiando -G 1800 a -G 300 –rotación cada cinco minutos –solo con fines de prueba),

tcpdump -i en0 -w /var/tmp/trace-%m-%d-%H-%M-%S-%s -W 3 -G 300

te dará %m=month , %d=day of month , %H=hour of day , %M=minute of day , %S=second of day , %s=millisecond of day ,resultando en

/var/temp/trace-03-02-08-30-56-1520002568
/var/temp/trace-03-02-08-35-56-1520002568
/var/temp/trace-03-02-08-40-56-1520002568

Muy útil para organizar las trazas de esos molestos problemas intermitentes. Además, si no es root, es posible que desee sudo y por supuesto que sea un nohup:

sudo bash -c "nohup tcpdump -i en0 -w /var/tmp/trace-%m-%d-%H-%M-%S-%s -W 3 -G 300 &"

Me parece que todo lo que necesitas es

tcpdump -i en0 -G 1800 -w /var/tmp/trace-%H-%M.pcap

El especificador de formato strftime que -G espera en el nombre de archivo -w no tiene que representar una fecha y hora completas. Con solo %H y %M allí, y un tiempo de rotación de exactamente media hora, cualquier invocación dada de tcpdump solo generará dos valores diferentes de %M con media hora de diferencia, y los archivos de seguimiento de ayer se sobrescribirán cuando la misma hora y los números de los minutos vuelven a rodar.


Linux
  1. Cómo cifrar y descifrar archivos y directorios utilizando Tar y OpenSSL

  2. Transfiera archivos y carpetas de forma segura entre computadoras usando Croc

  3. Uso de sed para buscar y reemplazar archivos de texto en Linux

  4. Encontrar archivos ejecutables usando ls y grep

  5. Eliminar archivos con rm usando find y xargs

Cómo sincronizar archivos y directorios usando Zaloha.sh

Cómo organizar y modificar archivos PDF usando PDF Arranger

Cómo hacer una copia de seguridad y restaurar archivos usando BorgBackup en Linux

Cómo hacer una copia de seguridad de archivos y directorios usando Rsync en Linux

Uso de archivos y carpetas en la pantalla del escritorio en Ubuntu

Cómo eliminar archivos y directorios usando la línea de comandos de Linux