iptables: como apresentar “diferente de / match” quando usar a função -m u32

0

No iptables, -m u32 -u32 pode ser usado para combinar determinados bytes no pacote com o valor definido pelo usuário. Por exemplo,

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

Através da regra acima do iptables, o pacote será rejeitado se o valor de 1 byte for igual a 0x11.

A minha pergunta é: como apresentar " diferente de " ou "não corresponder" ? Da página man do iptables, parece que não existe tal! -M ou -m! função.

    
por Li Dong 01.09.2016 / 07:33

1 resposta

1

A parte -m u32 da linha de comando especifica o módulo. A parte --u32 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 as páginas do manual 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.
    
por Doug Smythies 01.09.2016 / 16:49