--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для відмови / реєстрації тощо ...