带有队列的python多进程scapy

时间:2018-12-26 08:45:05

标签: python queue scapy multiprocess

我想使用多进程处理船尾。一个进程将数据放入队列,另一个进程从队列中获取数据。

以下代码:

from multiprocessing import Process, Queue
from scapy.all import *

nic = 'ens160'
def producer(q):
    sniff(iface=nic, prn=lambda p : q.put(p), store=0)

if __name__ == '__main__':
    queue = Queue()
    pro = Process(target=producer, args=(queue,))
    pro.start()

    while True:
        print('queue size: {}'.format(queue.qsize()))
        time.sleep(3)

结果是队列大小始终为0。

即使我在嗅探中添加了额外的fun1,队列大小仍然为0。 但是在fun1中,队列大小不断增加

queue = Queue()
def fun1(p):
    queue.put(p)
    print('Queue size is {}'.format(queue.size()))


sniff(iface=nic, prn=fun1, store=0)

我想念带有嗅探功能的东西吗?

0 个答案:

没有答案