1

我想捕获 RTCP 数据包并解析它。正如我在实时捕获的 pyshark 文档中看到的,我必须定义超时,即我们的 packet_count。据我了解,在此选项后实时捕获停止,我能够解析数据。我需要进行计算,所以我总是需要数据包“n”和“n+1”中的数据。如果 pyshark 在超时后或 x 数据包后解析数据,我如何保证始终拥有“n”和“n+1”数据包。

这是一个例子:

capture = pyshark.LiveCapture(interface='eth0')
for packet in capture.sniff_continuously(packet_count=5):
    print 'Just arrived:', packet

如果我捕获 5 个数据包,如何计算第 5 个数据包?我无法捕获无限数量的数据包。

如果我只捕获 1 个数据包,将其分配给 packet_0,然后再捕获一个数据包,持续将其分配给 packet_1,进行计算,然后将 packet_1 分配给 packet_0,然后返回到 while 循环的开头,这是一个可行的想法吗? (将 1 个数据包捕获到 packet_1)

4

1 回答 1

1

我在我的代码中写:</p>

pcap_reader = pyshark.LiveCapture('en0')
for packet in pcap_reader.sniff_continuously():
    print(packet)

参考: https://github.com/KimiNewt/pyshark/blob/6311e3e5598d42220ef02b896375544c1825113b/src/pyshark/capture/live_capture.py#L105

于 2019-12-23T06:08:36.753 回答