当我运行脚本时,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
不听电话。任何帮助表示赞赏。
答案 0 :(得分:1)
问题是:prn=sniffer_callback(target_site)
。你用一个参数调用sniffer_callback
,这是错误的。
应该是:prn=sniffer_callback
。因为它是一个回调函数,所以应该从函数sniffer_callback
内的某个地方调用sniff
。因此,您将函数本身作为参数赋予,而不是它已计算的值。