在Scapy" sniff"中使用多个过滤器功能

时间:2018-05-16 13:38:34

标签: python spyder scapy sniffing

我和朋友正在使用Scapy库在Python中制作一个嗅探应用程序。我们有一个GUI界面,我们可以选择过滤器和协议。我们想使用一个或多个过滤器来嗅探网络但不知道该怎么做。现在我们尝试了以下代码:

capture=scapy.sniff(filter="tcp and udp",timeout=5)
print(capture)

它运行良好,但只使用第一个过滤器(在本例中为tcp过滤器)。我们还尝试使用以下代码,但相同:

capture1=scapy.sniff(filter="tcp",timeout=5)
capture2=scapy.sniff(filter="udp",timeout=5)
print(capture1)
print(capture2)

那么,是否可以使用多个过滤器进行嗅探,如果有,您有什么想法吗?

由于

1 个答案:

答案 0 :(得分:1)

你告诉Scapy要嗅探TCP和UDP的数据包。

当我尝试这个(Linux,当前的Scapy开发版本)时,我收到一条警告消息tcpdump: expression rejects all packets并且未应用过滤器。

您可能希望使用or代替andcapture=scapy.sniff(filter="tcp or udp",timeout=5)