Назад | Перейти на главную страницу

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

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

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

Вы рассматривали возможность использования 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