Зеркальное отображение трафика на сервере 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 автоматически переименовывать / вращать файл журнала при достижении определенного размера
Другие вопросы по тегам