Пишите в другой файл tcpdump каждую минуту
Я хочу использовать tcpdump для создания файлов журналов для сети. Я могу написать в файл с именами файлов, содержащими минуты.
Примечание: я не хочу создавать файлы по размеру файла. Я хочу создавать файлы на каждую минуту.
Я пытался много командовать, но я не мог.
# log_{DAY}_{MOUNTH}_{YEAR}__{HOUR}_{MINUTE}.pcap
log_08-07_2018__12_34.pcap
log_08-07_2018__12_35.pcap
log_08-07_2018__12_36.pcap
log_08-07_2018__12_37.pcap
1 ответ
От tcpdump
справочная страница:
-G rotate_seconds If specified, rotates the dump file specified with the -w option every rotate_seconds seconds. Savefiles will have the name specified by -w which should include a time format as defined by strftime(3). If no time format is specified, each new file will overwrite the previous. If used in conjunction with the -C option, filenames will take the form of 'file count'.
Глядя на strftime
На странице man вы найдете все задокументированные спецификаторы преобразования, необходимые для создания файлов в указанном вами формате.
Используя информацию из различных man-страниц, следующая команда должна каждую минуту создавать pcap-файлы, имена которых соответствуют указанному вами формату:
tcpdump -i eth0 -G 60 -w 'log_%d-%m_%Y__%H_%M.pcap'
Могу ли я предложить другое соглашение об именах? Формат, который вы выбрали, не очень хорошо сортируется, и часы могут дрейфовать со временем, особенно для длительных файлов захвата; поэтому я бы рекомендовал использовать формат ISO 8601. Например:
tcpdump -i eth0 -G 60 -w 'log_%Y-%m-%dT%H_%M-04:00.pcap'
... или даже проще:
tcpdump -i eth0 -G 60 -w 'log_%FT%T-04:00.pcap'
ПРИМЕЧАНИЕ -04:00 - это текущее смещение от UTC для моего часового пояса. Если вы не делитесь файлами pcap с коллегами в разных часовых поясах, вы можете пропустить смещение, но это может быть полезно, так что вы все равно можете его сохранить. Вы никогда не знаете, когда в будущем вы захотите поделиться pcaps с коллегами по часовым поясам, и если они откроют ваш файл pcap, они получат информацию, необходимую для быстрого сдвига временных меток пакетов с помощью Editsh > Time Shift в Wireshark ... так что временные метки пакетов относятся к часовому поясу, в котором был взят файл захвата, а не к собственному часовому поясу. Таким образом, все ссылаются на одно и то же время независимо от своего часового пояса, и можно избежать путаницы.