私はpcapファイルからパケットをフィルタリングし、さらに処理する必要があります。 ファイルは非常に大きいので、一度にすべてをメモリに読み込むことはできません。 Scapyは非常に洗練されているようだと私は残念ながら、私はPcapReader
これだけ一致するパケットのいずれにもフィルタ(例えばBPF)を適用する方法を見つけることができませんでしたpython scapy filter pcapファイル
with PcapReader(pcap) as pcap_reader:
for pkt in pcap_reader:
...
でパケットを反復処理することができた反復処理されますpkt
(scapy.packet
!?)である必要はありません。
私は、引数としてフィルタを取るtsharkデコーダである関数tdecode
があることを知りましたが、結果のパケットを変数に保存するのではなく、すべての結果を端末にあふれさせる方法はありません。
.pcapファイルのパケットをscapy
でフィルタリングし、結果を繰り返し処理する方法はありますか?
をあなたがすることはできません最初のtshark(これはかなり高速です)でフィルターをかけ、scapyでさらに新しいpcapを処理しますか?後処理が高価な場合は、おそらくlibpcapを直接使用するほうが良いでしょう。 – pchaigno