Python Scapy多个嗅探过滤器不工作?

Python Scapy多个嗅探过滤器不工作?,python,security,scapy,Python,Security,Scapy,所以我使用这个过滤器进行嗅探: myfilter = 'tcp and tcp.flags.syn==1 and tcp.flags.ack==0 and tcp.flags.psh==0' sniff(iface="myinter" , filter=myfilter , prn=mitm , count=1 ) 并且它也会获取没有指定标志的数据包: 我只想要ACK=0、SYN=1和PSH=0的标志,但这不起作用 我还试着不使用==而只使用tcp.flags.syn1,但仍然不起作用 我做

所以我使用这个过滤器进行嗅探:

myfilter = 'tcp and tcp.flags.syn==1 and tcp.flags.ack==0 and tcp.flags.psh==0'

sniff(iface="myinter" , filter=myfilter , prn=mitm , count=1 )
并且它也会获取没有指定标志的数据包:

我只想要ACK=0、SYN=1和PSH=0的标志,但这不起作用

我还试着不使用==而只使用tcp.flags.syn1,但仍然不起作用

我做错什么了吗

更新:

看起来它也会给某些东西带来语法错误:

tcpdump:语法错误

但是,当我只使用tcp或tcp时,它不会给出任何语法错误,这个错误不会停止程序,但看起来它停止了过滤


即使我只是使用tcp.flags.syn==1或tcp.flags.syn 1,它仍然给出了这个语法错误。。。my scapy is 2.4

您使用的筛选器不是有效的PCAP筛选器(因此出现语法错误消息)。在Unix系统上,您可以查看
pcap筛选器(7)
tcpdump(1)
手册页以了解有关可以使用的语法的更多信息

像这样的方法应该会奏效:

myfilter=“tcp[tcpflags]&(tcp-syn | tcp-ack | tcp-push)=tcp-syn”
嗅探(iface=“myinter”,filter=myfilter,prn=mitm,count=1)

谢谢,但是在unix之外,我在哪里可以阅读更多关于这些筛选器语法的信息?我在他们的网站上找不到这个?当我搜索tcp过滤器时,它什么也找不到。你在Scapy的文档中找不到它,因为它不是特定于Scapy的。我的回答中的
pcap过滤器(7)
tcpdump(1)
参考手册页面。