Sì, non sembra funzionare come dice la risposta di MariusMatutiae .
tcpdump ...{other options}... -w httpdebug.pcap -W 48 -G 1800 -C 100
$ ls -l
-rw-r--r--. 1 tcpdump tcpdump 100007441 Mar 17 17:57 httpdebug.pcap00
-rw-r--r--. 1 tcpdump tcpdump 46895104 Mar 17 18:02 httpdebug.pcap01
-rw-r--r--. 1 tcpdump tcpdump 93091143 Mar 17 17:47 httpdebug.pcap02
-rw-r--r--. 1 tcpdump tcpdump 5372072 Mar 17 16:17 httpdebug.pcap03
Mi sembra che potrebbe catturare il maggior numero -C 100
possibile di file MB in un periodo di 30 minuti perché httpdebug.pcap03
ha il primo timestamp ed è molto più piccolo di 100 MB, quindi sembra che sia stato tagliato in un segno di 30 minuti. Una volta che raggiunge i 30 minuti, sembra tornare indietro httpdebug.pcap00
e aumentare il numero mentre raggiunge i 100 MB. Ciò significa che se si hanno molte richieste in un periodo di 30 minuti, si arriva a numeri httpdebug.pcapXX molto elevati. Se non raggiungi più così tante richieste in un determinato periodo, quei numeri httpdebug.pcapXX elevati non verranno mai sovrascritti.
Quindi sto pensando che i file ciclici per timeslice significano che il timeslice è -G 1800
e scorrerà ogni -G 1800
e incrementerà ogni -C 100
.
Non sono sicuro che -W 48
influisca, ma forse se ci riesci httpdebug.pcap47
(il conteggio inizia da 0`, smetterà di catturare i pacchetti.
Un po 'di recente, c'è stato un problema di GitHub aperto sulla formulazione confusa. Non hanno modificato l'implementazione, ma hanno cercato di rendere la documentazione un po 'più chiara.
Le modifiche proposte sono state integrate il 28 gennaio 2019 .
Ad oggi, 17 marzo 2019, ecco la documentazione attuale:
-C
:
.BI \-C " file_size"
Before writing a raw packet to a savefile, check whether the file is
currently larger than \fIfile_size\fP and, if so, close the current
savefile and open a new one. Savefiles after the first savefile will
have the name specified with the
.B \-w
flag, with a number after it, starting at 1 and continuing upward.
The units of \fIfile_size\fP are millions of bytes (1,000,000 bytes,
not 1,048,576 bytes).
-G
:
.BI \-G " rotate_seconds"
If specified, rotates the dump file specified with the
.B \-w
option every \fIrotate_seconds\fP seconds.
Savefiles will have the name specified by
.B \-w
which should include a time format as defined by
.BR strftime (3).
If no time format is specified, each new file will overwrite the previous.
Whenever a generated filename is not unique, tcpdump will overwrite the
preexisting data; providing a time specification that is coarser than the
capture period is therefore not advised.
.IP
If used in conjunction with the
.B \-C
option, filenames will take the form of `\fIfile\fP<count>'.
-W
:
.B \-W
Used in conjunction with the
.B \-C
option, this will limit the number
of files created to the specified number, and begin overwriting files
from the beginning, thus creating a 'rotating' buffer.
In addition, it will name
the files with enough leading 0s to support the maximum number of
files, allowing them to sort correctly.
.IP
Used in conjunction with the
.B \-G
option, this will limit the number of rotated dump files that get
created, exiting with status 0 when reaching the limit.
.IP
If used in conjunction with both
.B \-C
and
.B \-G,
the
.B \-W
option will currently be ignored, and will only affect the file name.
Penso ancora che sia un po 'confuso, ma immagino che la differenza dalle mie conclusioni sopra, sia che dice che -W
se usato con -C -G
non influisce nient'altro che sul nome del file.
In generale, -W
viene utilizzato per limitare il numero di file. Quindi non usarlo se vuoi catturare indefinitamente.