与AND条件的IPTABLES

我需要使用--string选项来应用iptables规则。 我需要在--hex或ascii 2string上匹配,这些string从不在同一个区域。

我试过的每个样本都只有一个string,所以我有误报。 我需要删除2个string,但是当我只有一个string或其他字符时,我不想删除。

所以,我正在寻找的规则是围绕iptables一个AND规则。

所以,我试过了:

 iptables -I INPUT -j DROP -m string --string "TEST1" --algo bm -m string --string "TEST2" --algo bm 

不工作,它看起来像我有2个不同的规则,所以它是阻止在TEST1或TEST2,但不是TEST1和TEST2:所以假阳性

 iptables -N my_chain iptables -A my_chain -j DROP iptables -A my_chain -j QUEUE ! -f -m string --string "TEST2" --algo bm iptables -A INPUT -j my_chain ! -f -m string --string "TEST1" --algo bm 

不工作,它看起来像我有2个不同的规则,所以它是阻止在TEST1或TEST2,但不是TEST1和TEST2:所以假阳性

有关如何完成此任何build议?

你有没有考虑跳转到另一个用过的表格?

例如

 iptables -A INPUT -p udp -m string --string "TEST1" --algo bm -j secondarystring iptables -N secondarystring iptables -A secondarystring -m string --string "TEST2" --algo bm -j DROP 

在这种情况下,只有符合第一个条件的数据包才能跳进“secondarystring”表中。 然后,匹配第二个条件(AND)的数据包应该被丢弃。