2014-12-04 4 views
1

Мне нужно перехватить сетевой трафик (режим IPS) и удалить выбранные пакеты, в соответствии с конкретными потребностями.
У меня два сетевых сетевых адаптера eth0 и eth1 в режиме promiscuous, и мне нужно получить пакеты от eth0, отбросить некоторые пакеты в соответствии с определенными правилами и переслать выбранные пакеты в ethic.
Я знаю, что системы IPS, такие как Snort, позволяют перехватывать и фильтровать пакеты, но я бы предпочел сделать это с помощью программы Python, используя библиотеку Scapy, если это возможно.
Как перехватить и переадресовать сетевой трафик, используя два сетевых адаптера в обычном режиме с помощью Scapy?Используйте Scapy как IPS для перехвата, выбора и пересылки пакетов

ответ

1

Вы не можете «перехватывать» пакеты от Scapy.

Когда Snort делает это, он перестает быть IDS (который обнюхивает сеть) и становится IPS (в основном, брандмауэр, который ищет на уровне приложений, а также сетевые уровни для принятия своих решений).

Чтобы сделать то, что вам нужно, вам понадобится Netfilter, цель NFQUEUE для Iptables и Python bindings for nfqueue (пакет python-nfqueue под дистрибутивами Debian).

Scapy может помочь вам разобрать пакеты («понять» их и, при необходимости, подделать).

В любом случае, это, вероятно, будет очень медленно, поэтому, если вы не работаете с PoC, вы, вероятно, захотите использовать Snort или Suricata.