問題タブ [netflow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dataset - Scapy でパケットを合成する
今日、私は 3 億エントリの netflow レコードの csv ファイルを受け取りました。私の目的は、必要な手段を講じて netflow データを合成パケットに変換することです。少し調べた結果、Scapy はこのプロセスに最適なツールであると判断しました。私はいくつかのコマンドをいじり、そのネットフロー データを表す正確なパケットを作成しようとしましたが、苦労しており、以前に Scapy に手を出した人からの助けを本当に感謝しています.
これは私のデータセットからのエントリの例です:
1526284499.233,1526284795.166,157.239.11.35,41.75.41.198,443,55915,6,1,24,62,6537,1419,1441,32934,65535,
以下は、カンマ区切りの各値が表すものです。
開始タイムスタンプ (エポック形式): 1526284499.233
終了タイムスタンプ (エポック形式): 1526284795.166
ソース IP: 157.239.11.35
宛先 IP: 41.75.41.198
IP ヘッダー プロトコル番号: 443 (HTTPS)
ソース ポート番号: 55915
宛先ポート番号: 6 (TCP)
IP ヘッダーの TOS 値: 1 (FIN)
TCP フラグ: 24 (ACK & PSH)
パケット数: 62
バイト数: 6537
ルーター入力ポート: 1419
ルーター出力ポート: 1441
ソース自律システム: 32934 (Facebook)
宛先自律システム: 65535
このエントリの私の現在の Scapy 表現:
パケット.ショー() :
私の混乱:
率直に言って、これが正しいかどうかはわかりません。私が混乱するのは、IP プロトコル ヘッダーが 443 であり、HTTPS を示していますが、宛先ポートが 6 であり、TCP を示していることです。したがって、TCP を含める必要があるかどうか、またはプロト IP 属性を含めることが無償であるかどうかはわかりません。さらに、適切な方法でサイズを定義したかどうかは言うまでもなく、Raw() が各パケットのサイズを含める正しい方法であるかどうかもわかりません。
どこが間違っていたのか、またはこの特定のエントリに対して完璧な合成パケットを実際に奇跡的に作成したのかどうかをお知らせください。どうもありがとう!
python - Python での Netflow v9 パケットの読み取り
UDP ポートで着信 Netflow v9 パケットをリッスンし、レコードをアンパックして合計バイト数を計算するコレクターを作成しようとしています。
データのサンプル コレクションがあります (これは で記録しましたnfcapd
)。このデータを で分析するとnfdump
、8.2GB になります。
を使用してこのデータを (ローカルに) 送信するnfreplay
と、Python コードは と比較して約半分のデータしか検出しません。これは、ネットフローを非常にゆっくりと再生するようnfdump
に設定した場合でも同じです。nfreplay
また、時々、悪いデータしか得られず、Python スクリプトが数ペタバイトを報告しているようです。
ヒントはありますか?
私のコード: https://pastebin.com/hubPJ6tA (上記のように実行する前に実行してくださいnfreplay
。私はpypy
3.6 を使用しています)
私のサンプルデータ: http://edward.filegooi.co.za/get2/f207e55ec37428e82d8ce91952fda85b/netflowv9.201911081650