iptables匹配规则接收窗口大小?

我需要一个规则来匹配没有设置选项和/或特定窗口接收大小设置的数据包:

IP(tos 0x0,tt166,id 9000,offset 0,flags [none],proto TCP(6),length 40)yyyy11111> xxxxhttp:标志[S],cksum 0xe425(正确),seq 1729214256,win 715,length 0

所以这个数据包赢了715,flags [none] – >我怎么能匹配这样的数据包?

谢谢你的回答,但我想我find了最好的解决scheme(最好的速度):

iptables -I INPUT -m u32 --u32 "6&0xFF=0x6 && 0>>22&0x3C@12&0xFFFF=0x02CB" -j LOG 

上面的行确保是一个TCP数据包,然后findIP长度并采用(有额外的两个字节提取)到字节需要比较的(例715)。 总之,每个人都可以通过伟大的模块 – > u32来提取/查找/比较数据包中的每个位/字节。 欲了解更多信息: iptables-u32.v0.1

iptables有处理TCP标志和TCP选项的选项,即--tcp-option number--tcp-flags

对于窗口大小,可以使用带有以下选项的string模块: – --hex-string pattern 。 所以,在你的情况下,选项将是 – --hex-string 02CB 。 要获得准确的结果,您应该使用--to--to来限制search偏移量。 查看iptables手册了解更多信息。