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

Как заблокировать пакеты после захвата?

Я использую tcpdump для захвата выходных пакетов для одного сервера, но мне также нужно заблокировать эти пакеты.

Если я использую iptables для их блокировки, то я тоже ничего не могу захватить.

Могу ли я блокировать пакеты с помощью iptables и при этом захватывать пакеты до того, как они будут отброшены?

Я бы использовал пассивный (неадресированный) интерфейс для захвата и второй (адресованный) интерфейс для блокировки.

Чтобы настроить интерфейс для захвата без адреса, необходимо: ifconfig eth0 up

Возможно, вам придется взломать свой коммутатор, чтобы все это заработало, но суть такова: зеркалируйте весь трафик на оба интерфейса (то есть порты коммутатора), а затем захватывайте на одном и фильтруйте на другом.

если я понимаю, вы хотите заблокировать соединение, но перехватить пакеты.

вы можете сделать это, используя МАРКИ

например, если вы хотите заблокировать соединение для хоста 192.168.10.1 с соединением 192.168.10.2 (* nix), вы можете сделать это

iptables -t mangle -A PREROUTING -s 192.168.10.1 -j CONNMARK --set-mark 1
iptables -t mangle -A POSTROUTING -m connmark --mark 1 -j DROP

Вы можете использовать довольно простой набор правил snort, чтобы "регистрировать" пакеты, а также отбрасывать или отклонять их: Фырканье. Однако есть несколько предварительных условий, и это еще один синтаксис, который нужно изучить, так что это накладные расходы. Snort :: Документы содержит краткие руководства для нескольких различных операционных систем.

Вы не можете блокировать пакеты на сыром сокете, потому что в настоящее время для него нет фильтра. Прежде всего, сырой сокет получает пакет, фактически даже копия пакетадо того, как IPv4 tap и iptables получат свои.