Да, похоже, это не работает, как говорится в ответе 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
Мне кажется, что он может захватывать как можно больше -C 100
файлов МБ за 30-минутный период, потому что httpdebug.pcap03
имеет самую раннюю временную метку и намного меньше, чем 100 МБ, поэтому кажется, что она была вырезана с 30-минутной отметкой. Как только он достигает 30 минут, кажется, что он возвращается к httpdebug.pcap00
приращению числа и увеличивает его до 100 МБ. Это означает, что если у вас много запросов в течение 30 минут, вы получите очень высокие цифры httpdebug.pcapXX. Если вы больше никогда не достигнете такого количества запросов за период, эти высокие цифры httpdebug.pcapXX никогда не будут перезаписаны.
Так что я думаю, что циклические файлы на временной интервал означают, что временной интервал есть, -G 1800
и он будет циклически выполнять каждый -G 1800
и увеличивать каждый -C 100
.
Я не уверен, -W 48
влияет ли это, но, возможно, если вы доберетесь до httpdebug.pcap47
(count начинается с 0`, он прекратит захват пакетов.
Несколько недавно появилась проблема с GitHub по поводу запутанной формулировки. Они не изменили реализацию, но попытались сделать документацию немного понятнее.
В предлагаемых изменениях были объединены в на 28 января 2019 года .
На сегодняшний день, 17 марта 2019 года, вот текущая документация:
-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.
Я все еще думаю, что это немного сбивает с толку, но я думаю, что отличие от моего заключения выше, в том, что он говорит, что -W
при использовании с -C -G
не влияет ни на что, кроме имени файла.
В общем, -W
используется для ограничения количества файлов. Так что не используйте его, если хотите захватить на неопределенный срок.