Answers:
该--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
丢弃/记录等。