Python Scapy无法嗅探

0 投票
1 回答
2503 浏览
提问于 2025-04-17 18:52

当我运行这个脚本时,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这个函数内部被调用。所以你应该把函数本身作为参数传进去,而不是传一个它计算出来的值。

撰写回答