--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отбрасываемой / регистрируемой и т. Д.