Используйте Scapy в качестве IPS для перехвата, выбора и пересылки пакетов

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


person auino    schedule 04.12.2014    source источник


Ответы (1)


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

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

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

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

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

person Pierre    schedule 05.12.2014