Зеркальное отображение трафика на сервере tcpdump и автоматическое сохранение pcaps
Нужно, чтобы порт зеркалировал интерфейс сетевого брандмауэра, подключил этот интерфейс к серверу Linux, и чтобы этот сервер Linux постоянно запускал tcpdump и сохранял вывод в файлах.
В частности, мое требование заключается в том, чтобы файлы pcap сохранялись снова и снова, так как размер этого файла достигает определенного числа.
Например:
Порт 2 межсетевого экрана Juniper отражает весь трафик на порту 1. Порт 2 подключается к eth0 на сервере Linux. Linux-сервер имеет процесс tcpdump, постоянно работающий на eth0. Сервер Linux настроен на сохранение трафика в файл с именем "tcpdump.pcap", но когда размер файла pcap превышает определенный размер, он затем сжимается и переименовывается в "tcpdump.pcap.0.gz". Поскольку второй файл превышает определенный размер, он будет переименован в "tcpdump.pcap.1.gz" и т. Д.
Это позволит мне просматривать сетевой трафик за прошедший X промежуток времени (сейчас я ожидаю, чтобы его можно было увидеть за последние 72 часа).
Проблема здесь в том, что я не знаю, как выполнить вышеизложенное. В частности, как мне заставить tcpdump работать непрерывно, автоматически сохранять pcaps и автоматически сжимать и переименовывать в хронологическом порядке?
1 ответ
Давайте разберем проблему в следующих частях:
- позволять
tcpdump
сохранить дамп в формате pcap: вы можете использовать-w
вариант. Как всегда, внимательно прочитайте справочную страницу - постоянно бегать
tcpdump
: ты можешь использоватьscreen
бежатьtcpdump
чем отсоединить / прикрепить по вашему желанию; процесс будет продолжаться, пока вы его не остановите; - поверните лог-файл: [согласно предложению Марка Ридделла] вы можете использовать
-C
возможность позволитьtcpdump
поверните файл pcap или, в качестве альтернативы, вы можете настроить и использоватьlogrotate
автоматически переименовывать / вращать файл журнала при достижении определенного размера