3

数メガバイトのネットワーク トラフィックを収集したので、分析を実行したいと考えています。私が直面している問題は、検索時に時間の複雑さを軽減できるように保存したいということです。

私が頭に浮かんだ最初のアイデアは、列に可能なすべての属性を持つデータベースにそれを配置することでしたが、その後、テーブルに多くの NULL 値があることに気付きました。これにより、データベースのパフォーマンスが低下します。小さなデータベースではパフォーマンスの低下がわずかであっても、大きな *.pcap ファイル (1Gb を超える) を解析すると、データベースのパフォーマンスが大幅に低下します。AS データベースのサイズが増加し、テーブル内の NULL 値の数も増加します。

分析のために *.pcap ファイルを保存するより良い方法はありますか?解決策として XML ツリーを調べていますが、よくわかりません。私はPythonを使用してそれを行い、dpktモジュールを使用して* .pcapファイルからデータを抽出しています

よろしくお願いします

4

1 に答える 1

3

おそらく2つのステップでそれを行うことができます:

まず、tsharkツールを使用して pcap ファイルを .csv に変換します。例えば:

tshark -r input_file.pcap -n -T fields -E separator=, -e frame.time -e ip.src -e ip.dst -e ip.proto -e tcp.port >outfile.csv

次に、Python の csv モジュールを使用してそれを読み取り、分析を行います。

 import csv
 with open("outfile.csv", "r") as f:
     reader = csv.reader(f, delimiter=",")
     for row in reader:
         # do whatever with the data row...

お役に立てれば。

于 2013-10-04T02:48:11.907 に答える