Net :: Flow

Net :: Flowは、NetFlow / IPFIXデータグラムをデコードおよびエンコードするために使用されるPerlモジュールです。
今すぐダウンロード

Net :: Flow ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • Perl Artistic License
  • 価格:
  • FREE
  • 出版社名:
  • Atsushi Kobayashi
  • 出版社のWebサイト:
  • http://search.cpan.org/akoba/Net-Flow-0.03/lib/Net/Flow.pm

Net :: Flow タグ


Net :: Flow 説明

Net :: Flowは、NetFlow / IPFIXデータグラムをデコードおよびエンコードするために使用されるPerlモジュールです。 Net :: Flowは、NetFlow / IPFIXデータグラムをデコードしてエンコードするために使用されるPerlモジュールです.SynopsiSexample#1 - NetFlow V5、V9、およびIPFIXの出力フローレコードは、NetFlow / IPFIXデータグラムをデコードした後に受信したフローレコードを単に出力します。 NetFlow V5、V9、およびIPFIXを解析できます。 NetFlow V9 / IPFIXデータグラムを受信すると、NetFlow / IPFIXのいくつかのテンプレートを配列参照$ TemplateArrayRefとして保存できます。入力パラメータとして追加することで、テンプレートなしでNetFlow / IPFIXデータグラムを解析できます。受信したパケットに同じテンプレートIDがある場合、このテンプレートは新しいものによって上書きされます。厳密を使う。 Net :: Flow QW(Decode)を使用してください。 IO :: Socket :: Inetを使用してください。 My $ RECEIVE_PORT = 9993。私の$ packet = undef; My $ TemplateArrayRef = undef。 My $ SOCK = IO :: Socket :: Inet-> New(LocalPort => $ receive_port、Proto => 'UDP');間($ Sock-> Recv($ Packet、1548)){My($ HEADERHASHREF、$ TEMPLATEARRAYREF、$ FLOWARRAYREF、$ ERRORSARRAYREF)= NET :: FLOW :: DECODE($ PACKED、$ TEMPLATEARRAYREF); grep {印刷 "$ _n"} @ {$ errorsarrayref}(@ {$ errorsarrayref})} 「N - ヘッダ情報-N」を印刷する。 Foreach My $ KEY(Sort Keys%{$ HeaderHashRef}){PRINTF "%s = = n"、$ key、$ headerhashref - > {$ key};私の$ TEMPLATEREF(@ {$ TEMPLATEARRAYRRAYREF}){印刷 "N-テンプレート情報--n"; $ TEMPKEY(SORT KEYS%{$ TEMPLATEREF}){IF($ TEMPKEYEQ "テンプレート"){printf "%s = n"、$ TempKey; $ ref(@ {$ templateref - > {template}}){foreach My $ Key(キー%{$ ref}){printf "%s = d"、$ key、$ ref - > {$ key} ; "n"を印刷します。 alte {printf "%s = = n"、$ tempkey、$ templateref - > {$ tempkey};}私の$ flowref(@ {$ flowRayRayref}){"n-フロー情報--n"を印刷する。 $ ID(SORT KEYS%{$ flowref}){if($ ID EQ "SETID"){"$ ID = $ flowref - > {$ ID} n"; alte {printf "id = d value =%sn"、$ id ,, / pack( "h *"、$ flowref - > {$ id});}例2 - NetFlow V5からNetFlow V9へのプロトコルをConvert v9 - 次のスクリプトはNetFlow V5からNetFlow V9へのNetFlowプロトコルをコンバータとして変換します。まず、NetFlow V5データグラムをデコードします。その後、これらのフローレコードは、サンプリング間隔とサンプリングモードを含む特定のテンプレートに従ってNetFlow V9に符号化される。そしてそれらは次のコレクターに送られます。厳密を使う。 Net :: Flow QW(デコードエンコード)を使用してください。 IO :: Socket :: Inetを使用してください。 My $ RECEIVE_PORT = 9995; My $ SEND_PORT = 9996;私の$ packet = undef; My $ TEMPLATEREF = UNDEF。 My $ MyTemplAtereF = {'setId' => 0、 'TemplateId' => 300、 'Template' => 、#sampling_alg]、};私の@MyTemplates =($ mytemplateref); My $ EncodeHeaderHashRef = {'sourceID' => 0、 'VersionNum' => 9、 'SequenceNum' => 0、}; My $ R_SOCK = IO :: Socket :: Inet-> New(LocalPort => $ Receive_Port、Proto => 'UDP'); My $ S_SOCK = IO :: Socket :: Inet-> New(PeerAddr => '127.0.1'、Peerport => $ SEND_PORT、PROTO => 'UDP');間($ r_sock-> recv($ packet、1548)){My $ pktsarrayref = undef; My($ HEADERHASHREF、UNDEF、$ FLOWARRAYREF、$ ERRORSARRAYREF)= NET :: FLOW :: DECODE($ PACKED、UNDEF); grep {印刷 "$ _n"} @ {$ errorsarrayref}(@ {$ errorsarrayref})}私の$ HASHREF(@ {$ flowRayRayRef}){$ HASHREF - > {"setId"} = 300; $ HASHREF - > {"34"} = pack( "n"、$ headerhashref - > {"SamplingInterval"}} {"samplingInterval"}; $ HASHREF - > {"35"} = PACK( "N"、$ HEADERHASHREF - > {"SAMPLINGMODE"})定義済み$ HEADERHASHREF - > {"SAMPLINGMODE"}; $ ENCODEHEDERHASHREF - > {"sysuptime"} = $ HEADERHASHREF - > {"sysuptime"}; $ ENCODEHEASERHASHREF - > {"UNIXSECS"} = $ HEADERHASHREF - > {"unixsecs"}; $ EncodeHeaderHashRef - > {"Sequencenum"} + = 1; ($ EncodeHeaderHashref、$ PKTSArrayRef、$ PKTSArrayRef、$ ERRORSARRAYREF)= NET :: Flow :: Encode($ EncodeHeaderHashRef、@MyTemmplates、$ flowArrayref、1400)。 grep {印刷 "$ _n"} @ {$ errorsarrayref}(@ {$ errorsarrayref})} $ ref(@ {$ pktsarrayref}){$ s_sock-> send($$ ref);要件:・Perlの要件: ・Perl


Net :: Flow 関連ソフトウェア