Pyshark живой захват

Я хотел бы захватить пакеты 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 пакет, назначаю его пакету_0, затем захватываю еще один с помощью цикла while, непрерывно назначаю его пакету_1, выполняю расчет, а затем связываю пакет_1 с пакетом_0 и возвращаюсь к началу цикла while (захватить 1 пакет в package_1)


person jtarjanyi    schedule 07.07.2017    source источник


Ответы (1)


Я пишу в своем коде:

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

person JerryDi    schedule 23.12.2019