使用嗅探功能时未捕获键盘中断



每当有键盘中断时,我都会尝试清空列表,但这不起作用。下面是我的代码。

while 1:
    try:
       n=0
       while n<10:
           pkt=sniff(prn=lambda x:x.sprintf("{Ether : %ether.src% --> %ether.dst%}"),timeout=1,store=1)
           buffpkt+=pkt[:]  ##Store packets in a list buffer
           n+=1
       self._tempbuffstore(buffpkt)
    except KeyboardInterrupt:
        buffpkt=[]  ##Flush the list asynchronously "THIS IS THE MAIN REQUIREMENT FOR INTERRUPT"
        raise

我尝试做所有可能的事情,但这个中断处理程序不起作用。有什么帮助吗?

看起来你打电话给"嗅探",我无法复制,正在阻止。对于与网络相关的方法来说,这是很常见的。

你应该把你的嗅探方法放在一个单独的线程中,然后,可以在主循环中处理你的异常(你还必须处理在异常时停止线程)。

相关内容

  • 没有找到相关文章

最新更新