iptables에서는 -m u32 --u32를 사용하여 패킷의 특정 바이트를 사용자 정의 값과 일치시킬 수 있습니다. 예를 들어,
iptables -A 입력 -p tcp --dport 1000 -m u32 --u32 "xxxxxxxxxxx=0x11" -j 거부
위의 iptables 규칙을 통해 특정 1바이트의 값이 다음과 같을 경우 패킷이 거부됩니다.동일0x11.
내 질문은 "발표 방법"입니다.같지 않음" 또는"일치하지 않는다"? iptables 매뉴얼 페이지에서 그런 !-m 또는 -m이 없는 것 같습니다! 기능.
답변1
-m u32
명령줄 부분은 모듈을 지정합니다 . 부분 은 --u32
실제 표현식을 지정합니다. 따라서 찾고 있는 구문은 다음과 같습니다.
iptables -A INPUT -p tcp --dport 1000 -m u32 ! --u32 "xxxxxxxxxxx=0x11" -j REJECT
또한 참조하십시오iptables-extensions 매뉴얼 페이지, 아래 발췌:
u32
U32 tests whether quantities of up to 4 bytes extracted from a
packet have specified values. The specification of what to
extract is general enough to find data at given offsets from
tcp headers or payloads.
[!] --u32 tests
The argument amounts to a program in a small language described below.