Pyshark现场捕获

时间:2017-07-07 11:59:32

标签: python 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个数据包将其分配给packet_0然后再一次捕获一个循环并将其连续分配给packet_1,进行计算,然后将packet_1发送到packet_0,并返回到开头,这是一个可行的想法吗? while循环(捕获1个数据包到packet_1)

1 个答案:

答案 0 :(得分:0)

我用我的代码写:

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