iptables: как представить «не равно/совпадает» при использовании функции -m u32

iptables: как представить «не равно/совпадает» при использовании функции -m u32

В iptables -m u32 --u32 может использоваться для сопоставления определенных байтов в пакете с определенным пользователем значением. Например,

iptables -A ВХОД -p tcp --dport 1000 -m u32 --u32 "xxxxxxxxxxxx=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.

Связанный контент