iptables --tcp-플래그

iptables --tcp-플래그

질문 1: 다음 규칙은 동일합니까?

iptables -t raw -A PREROUTING -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
iptables -t raw -A PREROUTING -p tcp --tcp-flags ALL NONE -j DROP

질문 2: 다음 규칙은 동일합니까?

iptables -t raw -A PREROUTING -p tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
iptables -t raw -A PREROUTING -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

저는 iptables를 처음 접했고 일부 튜토리얼에서 이 네 가지 규칙을 사용하도록 제안했기 때문에 약간 혼란스럽습니다.

답변1

예, 두 가지 질문 모두 적용됩니다.

ALL동일합니다 FIN,SYN,RST,PSH,ACK,URG.

TCP 프로토콜을 사용할 때 사용되는 명령 보기 man iptables-extensions: .--tcp-flags-p tcp

[!] --tcp-flags mask comp
          Match when the TCP flags are as specified.  The  first  argument
          mask  is  the flags which we should examine, written as a comma-
          separated list, and the second argument comp  is  a  comma-sepa‐
          rated  list  of flags which must be set.  Flags are: SYN ACK FIN
          RST URG PSH ALL NONE.  Hence the command
           iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST SYN
          will only match packets with the SYN flag set, and the ACK,  FIN
          and RST flags unset.

관련 정보