1

我正在使用 cap.next() 来捕获 udp 数据包。但是一旦它开始接收数据包,即使没有数据包到来,它也永远不会出来。请帮我。我已经给出了下面的代码

如果我要使用 .loop 属性,我可以使用

p = pcapy.open_live(dev, 65536, 1, 1) p.setfilter('udp and src host 169.254.18.15 and port 5001')

print("正在捕获数据...") dumper = p.dump_open('data_loop.txt')

p.loop(NUM_OF_packet_to_receive,handle_packet)

我可以应用过滤器并在 p.loop 中指定要接收的数据包数量。

但是我正在使用 p.next() 我想在这个 p.next() 中应用过滤器并设置超时,任何人都可以帮我应用过滤器并设置超时。

(pcapy doc 没有正确编写,欢迎提供任何帮助。)现在,我自己过滤原始数据,而不是使用 pcapy 过滤器。

代码 https://docs.google.com/document/d/1z7VHviHQLKqFF4Wt2r9aN4dFMNr7HEorIvuHtUMxnSk/edit?usp=sharing

4

0 回答 0