Scapy 多个嗅探过滤器不起作用?
Scapy multiple sniff filters not working?
所以我使用这个过滤器进行嗅探:
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.syn 1 但仍然没有用
我是不是做错了什么?
更新:
看起来它也给某些东西带来了语法错误:
tcpdump: 语法错误
但是当我只使用 tcp 或 TCP 时,它没有给出任何语法错误,这个错误不会停止程序,但看起来它停止了过滤
即使我刚刚使用 tcp.flags.syn==1 或 tcp.flags.syn 1 它仍然给出了这个语法错误...我的 scapy 是 2.4
您使用的过滤器根本不是有效的 PCAP 过滤器(因此出现语法错误消息)。在 Unix 系统上,您可以查看 pcap-filter(7)
和 tcpdump(1)
联机帮助页以获取有关您可以使用的语法的更多信息。
像这样的东西应该可以工作:
myfilter="tcp[tcpflags] & (tcp-syn|tcp-ack|tcp-push) == tcp-syn"
sniff(iface="myinter" , filter=myfilter, prn=mitm , count=1)
所以我使用这个过滤器进行嗅探:
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.syn 1 但仍然没有用
我是不是做错了什么?
更新:
看起来它也给某些东西带来了语法错误:
tcpdump: 语法错误
但是当我只使用 tcp 或 TCP 时,它没有给出任何语法错误,这个错误不会停止程序,但看起来它停止了过滤
即使我刚刚使用 tcp.flags.syn==1 或 tcp.flags.syn 1 它仍然给出了这个语法错误...我的 scapy 是 2.4
您使用的过滤器根本不是有效的 PCAP 过滤器(因此出现语法错误消息)。在 Unix 系统上,您可以查看 pcap-filter(7)
和 tcpdump(1)
联机帮助页以获取有关您可以使用的语法的更多信息。
像这样的东西应该可以工作:
myfilter="tcp[tcpflags] & (tcp-syn|tcp-ack|tcp-push) == tcp-syn"
sniff(iface="myinter" , filter=myfilter, prn=mitm , count=1)