【问题标题】:Use multiple filters in Scapy's "sniff" function在 Scapy 的“嗅探”功能中使用多个过滤器
【发布时间】:2018-05-16 13:38:34
【问题描述】:

我和一个朋友目前正在使用 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)

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

谢谢

【问题讨论】:

    标签: python spyder scapy sniffing


    【解决方案1】:

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

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

    您可能想要使用or 而不是andcapture=scapy.sniff(filter="tcp or udp",timeout=5)

    【讨论】:

      猜你喜欢
      • 2016-09-24
      • 2015-07-17
      • 1970-01-01
      • 2017-09-05
      • 1970-01-01
      • 1970-01-01
      • 2015-04-09
      • 2015-12-22
      • 1970-01-01
      相关资源
      最近更新 更多