Scapy嗅闻不起作用

时间:2018-06-15 15:39:35

标签: ip scapy packet

我在接口('enp0s9')上发送数据包,并且可以验证是否确实正在使用tcpdump在该接口上发送数据包。





我正在尝试通过执行以下操作来嗅探那些带有scapy的数据包:




  packets = sniff(iface ='enp0s9',store = 0)
 print str(数据包) )
  




但似乎没有任何事情发生。我正在遵循scapy备忘单,但我不知道我的语法是否错误。任何帮助?





备忘单: https://blogs.sans.org/pen-testing/files/2016/04/ScapyCheatSheet_v0.2.pdf




1 个答案:

答案 0 :(得分:2)

尝试:

packets = sniff(iface='enp0s9', timeout=5)
print str(packets)

或只是

sniff(iface='enp0s9', prn=lambda p: p.summary(), store=0)

解释

Sniff函数有几个参数。您可以在scapy来源中查看它们的含义。参数“store = 0”表示存储的数据包将被禁用,因此不会产生结果。

你还需要在一段时间后停止嗅探。您可以使用以下选项之一:

  • stop_filter:应用于每个数据包的Python函数,以确定是否必须在此数据包之后停止捕获。
  • count:要捕获的数据包数。 0表示无穷大。
  • timeout:在给定时间后停止嗅探(默认值:无)。

作为此类解决方案的替代方案,您可以使用:

  • prn:应用于每个数据包的函数。