iptables: como apresentar “diferente de/correspondência” ao usar a função -m u32

iptables: como apresentar “diferente de/correspondência” ao usar a função -m u32

No iptables, -m u32 --u32 pode ser usado para combinar certos bytes do pacote com valores definidos pelo usuário. Por exemplo,

iptables -A INPUT -p tcp --dport 1000 -m u32 --u32 "xxxxxxxxxxx = 0x11" -j REJEITAR

Através da regra iptables acima, o pacote será rejeitado se o valor de determinado 1 byte forigual a0x11.

Minha dúvida é: como apresentar"não é igual a" ou"não combina"? Na página de manual do iptables, parece que não existe tal !-m ou -m! função.

Responder1

A -m u32parte da linha de comando especifica o módulo. A --u32porção especifica a expressão real. Então, a sintaxe que você está procurando é:

iptables -A INPUT -p tcp --dport 1000 -m u32 ! --u32 "xxxxxxxxxxx=0x11" -j REJECT

Veja também opáginas man iptables-extensions, trecho abaixo:

 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.

informação relacionada