次の python スクリプトを使用して、2 つの異なる 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 です。この 2 つの間には大きなギャップがあります。これは何に由来するのだろうか?私は何か間違ったことをしている/理解していますか? どんなアイデアでも大歓迎です。問題は github にも存在します > https://github.com/KimiNewt/pyshark/issues/375
私の Pyshark バージョンは 0.4.2.9 で、私の TShark バージョンは TShark (Wireshark) 3.0.0 (v3.0.0-0-g937e33de) です。