Python Scapy无法嗅探
当我运行这个脚本时,scapy
没有在网络接口上监听,它只是打印出这个错误:
追踪(最近的调用最后): 文件 "keylogger.py",第 91 行,在 sniff_packets(scapy_expression, target_site) 文件 "keylogger.py",第 15 行,在 sniff_packets sniff(filter=scapy_expression, prn=sniffer_callback(target_site), store=0, iface="eth0") 类型错误:sniffer_callback() 需要两个参数(只给了一个)
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 个回答
1
问题是:prn=sniffer_callback(target_site)
。你用一个参数调用了sniffer_callback
,这是不对的。
正确的写法应该是:prn=sniffer_callback
。因为这是一个回调函数,sniffer_callback
应该在sniff
这个函数内部被调用。所以你应该把函数本身作为参数传进去,而不是传一个它计算出来的值。