GNU/Linux >> Linux Esercitazione >  >> Linux

tcpdump – ruota i file catturati usando -G, -W e -C

Questo perché hai scritto -W 3 invece di -W 48 . Ci sono, tuttavia, altri errori nel tuo comando.

L'opzione -G significa:

-G rotate_seconds

      Se specificato, ruota il file dump specificato con -w opzione ogni rotate_seconds secondi. I file di salvataggio avranno il nome specificato da -w che dovrebbe includere un formato orario come definito da strftime(3). Se non viene specificato alcun formato dell'ora, ogni nuovo file sovrascriverà il precedente.

      Se utilizzato insieme a -C opzione, i nomi dei file assumeranno la forma di 'file '.

Visto che hai scritto -G 3 , lo ruoterai ogni 3 secondi, mentre dichiari

...che acquisisce 30 minuti di dati

Inoltre, lo schema di denominazione è sbagliato:da quanto sopra,

Se utilizzato insieme a -C opzione, i nomi dei file assumeranno la forma di 'file '.

Pertanto non ha senso specificare il formato dell'ora per il nome.

Inoltre, il -C option non ha argomenti, mentre, secondo la pagina man, dovrebbe:

tcpdump [ -AdDefIKlLnNOpqRStuUvxX ] [ -B dimensione_buffer ] [ -c conta ]
[ -C dimensione_file ] [ -G ruota_secondi ] [ -F file ][ -I interfaccia ] [ -m modulo ] [ -M segreto ][ -r file ] [ -s scatto ] [ -T digita ] [ -w file ][ -W numero di file ][ -E [email protected] algo:secret,... ][ -y tipo collegamento dati ] [ -z comando-postrotata ] [ -Z utente ] [ espressione ]

La pagina man indica:

-C

      Prima di scrivere un pacchetto non elaborato in un file di salvataggio, controlla se il file è attualmente più grande di file_size e, in tal caso, chiudi il file di salvataggio corrente e aprine uno nuovo. I file di salvataggio dopo il primo file di salvataggio avranno il nome specificato con -w bandiera, con un numero dopo di essa, a partire da 1 e continuando verso l'alto. Le unità di file_size sono milioni di byte (1.000.000 di byte, non 1.048.576 byte).

Quindi dovresti specificare -C 100 per produrre file da 100 MB.

Alla fine, il tuo comando dovrebbe essere:

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

Ciò ruoterà i file (dei nomi trace1, trace2, ...) ciclicamente, con periodo 48, ogni 1800 secondi (=30 minuti) o ogni 100 MB, a seconda di quale evento si verifichi per primo.


Espandendo la risposta di flabdablet (cambiando -G 1800 a -G 300 –rotazione ogni cinque minuti –solo a scopo di test),

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

ti darà %m=month , %d=day of month , %H=hour of day , %M=minute of day , %S=second of day , %s=millisecond of day , risultando in

/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

Molto utile per organizzare le tracce per quei fastidiosi problemi intermittenti. Inoltre, se non sei root, potresti voler sudo e ovviamente rendilo un nohup:

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

Mi sembra che tutto ciò di cui hai bisogno sia

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

L'identificatore di formato strftime che -G si aspetta nel nome file -w non deve rappresentare una data e un'ora complete. Con solo %H e %M e un tempo di rotazione di esattamente mezz'ora, ogni chiamata di tcpdump genererà solo due diversi valori %M a distanza di mezz'ora e i file di traccia di ieri verranno sovrascritti quando la stessa ora e i numeri dei minuti girano di nuovo.


Linux
  1. Come crittografare e decrittografare file e directory utilizzando Tar e OpenSSL

  2. Trasferisci in modo sicuro file e cartelle tra computer utilizzando Croc

  3. Utilizzo di file e dispositivi in ​​contenitori Podman rootless

  4. Utilizzo di sed per trovare e sostituire file di testo in Linux

  5. wget vs curl:come scaricare file usando wget e curl

Come sincronizzare file e directory utilizzando Zaloha.sh

Come organizzare e modificare i file PDF utilizzando PDF Arranger

Come eseguire il backup e il ripristino di file utilizzando BorgBackup in Linux

Come eseguire il backup di file e directory utilizzando Rsync in Linux

Utilizzo di file e cartelle sullo schermo del desktop in Ubuntu

Come eliminare file e directory utilizzando la riga di comando di Linux