Python Scapy没有嗅探

时间:2013-03-12 21:42:39

标签: python scapy

当我运行脚本时,scapy不会在界面上侦听,它只是打印出这个错误:

  

追踪(最近一次通话):     文件“keylogger.py”,第91行,in       sniff_packets(scapy_expression,target_site)     在sniff_packets中输入第15行“keylogger.py”       嗅探(filter = scapy_expression,prn = sniffer_callback(target_site),store = 0,iface =“eth0”)   TypeError:sniffer_callback()只需要2个参数(给定1个)

发生错误的代码如下(嗅探的表达式)

def sniff_packets(scapy_expression, target_site):
    sniff(filter=scapy_expression, prn=sniffer_callback(target_site), store=0, iface="eth0")

这是回调函数:

    def sniffer_callback(packet, target_site):

            print "[*] Got a packet"

我不确定为什么scapy不听电话。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

问题是:prn=sniffer_callback(target_site)。你用一个参数调用sniffer_callback,这是错误的。

应该是:prn=sniffer_callback。因为它是一个回调函数,所以应该从函数sniffer_callback内的某个地方调用sniff。因此,您将函数本身作为参数赋予,而不是它已计算的值。