질문 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.