Corresponder várias strings no iptables

2

Eu tenho 2 strings, e eu quero enfileirar o pacote se ele contém ambas as strings (algo como ("jsh" & & "gjhyg")), eu tentei seguir os caminhos, mas eles não parecem trabalho:

sudo iptables -A ENTRADA -p tcp -j FILA! -f -m string --string "abc" --algo bm -m string --string "def" --algo bm

Isso não funciona, só funciona se o pacote contiver a string "abcdef", mas o pacote que eu quero enfileirar contém as strings em dois locais diferentes. Então eu tentei outro método:

sudo iptables -A ENTRADA -p tcp -j FILA! -f -m string --string "abc" --algo bm

sudo iptables -A ENTRADA -p tcp -j FILA! -f -m string --string "def" --algo bm

Mas desta vez funciona como "or", filtra pacotes com string "abc" ou "def".

    
por adnan kamili 02.10.2012 / 08:29

1 resposta

0

o "e" nesse caso poderia ser obtido com uma cadeia definida pelo usuário

sudo iptables -N my_chain

sudo iptables -A my_chain -p tcp -j QUEUE ! -f -m string --string "def" --algo bm

sudo iptables -A INPUT -p tcp -j my_chain ! -f -m string --string "abc" --algo bm

quando a cadeia de entrada processa a última linha e "abc" está presente, o controle pula para my_chain, que possui uma regra semelhante, verificando a presença de "def"; se "def" estiver lá, salta para QUEUE.

    
por 10.10.2012 / 00:15