私はマルウェア検出システムの研究を行っています。感染したシステムの動作をモデル化するには、Pcapファイルから大量のパケットを処理し、それらをフロー(同じIPを持つパケットでソースと運命のポート)にグループ化し、それらのフローからいくつかの機能を抽出する必要があります。大量のネットワークパケットをPythonで処理する最善の方法は何ですか?
DPKTを使用して、パケットから情報を解析して読み込みます。私の質問は、グループ化プロセスを行う最も効率的な方法です。 PostgreSQLデータベースを使用して、パッケージの情報を持つフローが存在するかどうかを問い合わせて、フローに追加したり、新しいものを作成したりしています。しかし、私はこの方法が非常に非効率的だと思うので、私はメモリ内の構造を使用したり、データベースやその他のものを改善するような他の選択肢を求めています。
です:あなたの問題を解決するために
一つの方法は、辞書のサブクラスである
Counter
クラスを使用するだろうか? (lines/filesize) – hansaplastPcapファイルは10K行から数百万に及ぶ可能性があります。 – p0kero