Захват и регистрация исходящих IP-пакетов с помощью iptables

Моя цель - использовать ipset списки в iptables регистрировать исходящий трафик на определенные IP-адреса. Я намерен пассивно контролировать всю сеть.

У меня включено зеркалирование портов, и трафик с зеркальным отображением портов транслируется на сервер с двумя сетевыми адаптерами. Eth0 предназначен для управления системой, а Eth1 работает в смешанном режиме и предназначен для захвата передаваемого ему трафика. Можно ли использовать iptables регистрировать исходящий трафик в сети, которая отслеживается? Спасибо.

1 ответ

Рассматривали ли вы использование tcpdump скорее, чем iptables? Что-то вроде:

tcpdump -w /var/log/packets -i eth1

Будет сбрасывать все пакеты, видимые на eth1 в файл /var/log/packets, Вы можете позже проанализировать файл, используя tcpdump, wiresharkили множество других инструментов.

С помощью iptablesвы обычно регистрируете пакеты, используя LOG цель, как это:

iptables -A INPUT -i eth1 -j LOG

Я не уверен, действительно ли iptables является правильным инструментом для этой работы, потому что (а) я не знаю, как это будет работать с интерфейсом в беспорядочном режиме, и (б) при высокой скорости передачи пакетов эта форма регистрации может иметь существенные влияние ввода / вывода на вашу систему.

Я думаю, что вам лучше с tcpdump модель. -G флаг для tcpdump заставит его периодически поворачивать файл захвата, что вы захотите сделать, если снимаете в течение длительного периода. Так что-то вроде:

tcpdump -G 3600 -w /var/log/packets-%Y-%m-%d-%H

Это даст вам файлы в форме:

/var/log/packets-2013-06-20-10
Другие вопросы по тегам