有什么区别:
iptables ... -m state --state NEW
Run Code Online (Sandbox Code Playgroud)
和
iptables ... --syn
Run Code Online (Sandbox Code Playgroud)
第一个应该选择 NEW 连接,但 AFAIK 新连接是通过发送 TCP syn 标志建立的。另一个意思就是-带有syn标志的数据包。
当上述命令返回不同的结果时,您能举一些实际的例子吗?
Kha*_*led 10
该--syn标志是检查TCP流量是有用的,但NEW可用于其他协议(包括状态TCP),如UDP和ICMP。我可以说这NEW比--synTCP 选项更通用。
从 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
Run Code Online (Sandbox Code Playgroud)
例如,DNS 请求将匹配NEW状态,但不会匹配带有--syn选项的规则。简单地说,它是一个 UDP 数据报。
此外,该--syn选项可用于检查带有坏标志组合的 TCP 数据包以丢弃它们。
此外,您可以同时使用这两个选项来检查NEW没有--syn第一个数据包的TCP 流并丢弃它们,例如:
$ sudo iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
Run Code Online (Sandbox Code Playgroud)
在这里,我们将这种类型的数据包添加到一个用户定义的链中,称为bad_tcp_packets被丢弃/记录等......
| 归档时间: |
|
| 查看次数: |
13428 次 |
| 最近记录: |