调用AsyncSniffer.stop()触发AttributeError:无stop_cb属性问题
Scapy AsyncSniffer 报 AttributeError 问题解决
运行这段Python代码:
import time from scapy.all import AsyncSniffer sniffy = AsyncSniffer(iface="wlp0s20f3", filter="not arpand not port 22") sniffy.start() time.sleep(1) sniffy.stop()
会触发如下报错:
def stop(self, join=True): """Stops AsyncSniffer if not in async mode""" if self.running: try: > self.stop_cb() E AttributeError: 'AsyncSniffer' object has no attribute 'stop_cb' venv/lib/python3.8/site-packages/scapy/sendrecv.py:1017: AttributeError
之前碰到过类似问题,当时的解决方案是添加延迟,但这里即使加了time.sleep(1),报错依然存在。最终通过最小复现测试发现,问题出在filter参数的语法错误上:原过滤规则里的arpand是拼写失误,正确写法是arp and。
修正后的代码如下:
import time from scapy.all import AsyncSniffer sniffy = AsyncSniffer(iface="wlp0s20f3", filter="not arp and not port 22") sniffy.start() time.sleep(1) sniffy.stop()
内容的提问来源于stack exchange,提问作者Mo_
相关产品推荐
相关产品推荐

