--syn
Прапор корисний для перевірки TCP трафіку, але NEW
стан може бути використаний для інших протоколів ( в тому числі TCP
) , як UDP
і ICMP
. Я можу сказати, що NEW
це загальніший --syn
варіант, ніж TCP.
З посібника з iptables ви можете прочитати:
NEW meaning that the packet has started a new connection,
or otherwise associated with a connection which has not seen packets in both directions
Наприклад, запит DNS буде відповідати NEW
стану, але він не буде відповідати правилу з --syn
опцією. Просто це дейтаграма UDP.
Також цей --syn
параметр можна використовувати для перевірки наявності пакетів TCP з неправильною комбінацією прапорів для їх скидання.
Крім того, ви можете використовувати обидва ці варіанти разом, щоб перевірити наявність NEW
потоків TCP без --syn
першого пакету та скинути їх, наприклад:
$ sudo iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
Тут ми додаємо ці типи пакетів до визначеної користувачем ланцюжка, яка називається bad_tcp_packets
для відмови / реєстрації тощо ...