我正在尝试使用以下 python 脚本启动两个不同的 tshark 进程。
import pyshark
import subprocess
packet_count_pyshark = 0
packet_count_tshark = 0
tsharkCall = ["tshark", "-i", "Wi-Fi", "-w", "tshark_capture" + ".pcap"]
print("Starting TShark")
tshark_process = subprocess.Popen(tsharkCall, stderr=subprocess.DEVNULL)
print("Starting Pyshark")
capture = pyshark.LiveCapture(interface='Wi-Fi')
for packet in capture.sniff_continuously():
packet_count_pyshark += 1
print("Pyshark : ", packet_count_pyshark)
执行脚本后,我从浏览器打开了 10 个不同的 youtube 视频,以产生巨大的流量。等待大约 30 秒后。我用 CTRL+C 切断了程序流程。我看到 pyshark 捕获的最后一个数据包计数是 6672,但是 tshark pcapng 文件中的数据包数量是 63916。两者之间存在巨大差距。我想知道这起源于什么?我在做/理解错了吗?任何想法都值得赞赏。问题也出现在 github > https://github.com/KimiNewt/pyshark/issues/375
我的 Pyshark 版本是 0.4.2.9,我的 TShark 版本是 TShark (Wireshark) 3.0.0 (v3.0.0-0-g937e33de)