--tcp-flags匹配
Match --tcp-flags Example Explanation 匹配指定的TCP標記。有兩個參數,它們都是列表,列表內部用英文的逗號做分隔符,這兩個列表之間用空格分開。第一個參數指定咱們要檢查的標記(做用就象掩碼),第二個參數指定「在第一個列表中出現過的且必須被設爲1(即狀態是打開的)的」標記(第一個列表中其餘的標記必須置0)。也就是說,第一個參數提供檢查範圍,第二個參數提供被設置的條件(就是哪些位置1)。這個匹配操做能夠識別如下標記:SYN, ACK,FIN,RST ,URG,PSH。另外還有兩個詞也可以使用,就是ALL和NONE。顧名思義,ALL是指選定全部的標記,NONE是指未選定任何標記。這個匹配也可在參數前加英文的感嘆號表示取反。例如: 一、iptables -p tcp --tcp-flags SYN,FIN,ACK SYN表示匹配那些SYN標記被設置而FIN和ACK標記沒有設置的包,注意各標記之間只有一個逗號而沒有空格。 二、--tcp-flags ALL NONE匹配全部標記都未置1的包。 三、iptables -p tcp --tcp-flags ! SYN,FIN,ACK SYN表示匹配那些FIN和ACK標記被設置而SYN標記沒有設置的包,注意和例1比較一下。