نت :: التدفق

التحميل الان

نت :: التدفق الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Perl Artistic License
  • السعر:
  • FREE
  • اسم الناشر:
  • Atsushi Kobayashi
  • موقع ويب الناشر:
  • http://search.cpan.org/~akoba/Net-Flow-0.03/lib/Net/Flow.pm

نت :: التدفق العلامات


نت :: التدفق وصف

NET :: التدفق هو وحدة PERL المستخدمة ل فكيب وتشفير Datagrams NetFlow / IPFIX. NET :: التدفق هو وحدة بيرل المستخدمة في فك تشفير وتشفير NetFlow / IPFIX Datagrams.synopsisexample # 1 - سجلات تدفق الإخراج من Netflow V5، V9 و IPFIX - البرنامج النصي التالي ببساطة يخرج سجلات التدفق المستلم بعد فك تشفير DETFLOW / IPFIX Datagrams. يمكن أن تحليل netflow v5، v9 و ipfix. إذا تلقيت Netflow V9 / IPFIX Datagrams، يمكن الاحتفاظ بالعديد من قوالب NetFlow / IPFIX كمرجع صفيف $ Templatearrayref. عن طريق إضافة ذلك كمعلمة الإدخال، يمكن أن تحليل مخططات بيانات NetFlow / IPFIX بدون قوالب. إذا تم تلقي الحزمة له رقم القالب نفسه، يتم الكتابة فوق هذا القالب من قبل جديد. استخدام صارمة؛ استخدام NET :: تدفق QW (فك شفرة)؛ استخدام IO :: المقبس :: إينت. بلدي $ coffect_port = 9993؛ بلدي حزمة $ = undef؛ بلدي $ templaterrayref = undef؛ بلدي جورب $ = io :: المقبس :: Inet-> جديد (LocalPort => $ coffect_port، proto => 'UDP')؛ بينما ($ sock-> recv (حزمة $، 1548)) {My ($ headerherhref، $ templaterrayref، $ flowarrayref، $ errorsarrayref) = net :: التدفق :: فك التشفير ($ packet، $ templaterrayref)؛ Grep {print "$ _n"} @ {$ errorsarrayref} إذا (@ $ errorsarrayref})؛ طباعة "N- معلومات رأس -N"؛ foreach مفتاحي $ (مفاتيح الترتيب {$ headerhashref}) {printf " s = = n"، $ key، $ headerhashref -> {$ key}؛ } foreach بلدي templateref (@ {@ $ templaterrayref}) {print "n - معلومات القالب --N"؛ foreach بلدي tempkey $ (مفاتيح الترتيب {$ templateref}) {IF ($ tempkey eq "قالب") {printf " s = n"، tempkey $؛ foreach بلدي $ المرجع (@ $ templateref -> {template}}) {foreach مفتاحي $ (KEES {$ {$ {$ {$ {$ s = d "، مفتاح $، $ ref -> {$ key} ؛ } طباعة "ن"؛ }}} {printf " s = = n"، $ tempkey، $ templateref -> {$ tempkey}؛ }}} foreach بلدي $ FlowRef (@ {@ $ flowarRayref}) {print "n - معلومات التدفق --N"؛ foreach معرف $ $ (مفاتيح الترتيب {$ flowRef}) {IF ($ ID EQ "SetID") {print "$ ID = $ flowRef -> {$ id} n"؛ } آخر {printf "id = d value = SN"، معرف $،، فك ("H *"، $ FlowRef -> {$ ID})؛ }}}}} مثال # 2 - تحويل البروتوكول من Netflow V5 إلى Netflow V9 - البرنامج النصي التالي يحول بروتوكول NetFlow من Netflow V5 إلى Netflow V9 كحول. في البداية، فك تشفير Netflow V5 Datagram. بعد ذلك، يتم ترميز سجلات التدفق هذه في Netflow V9 وفقا للقالب معين بما يتضمن الفاصل الزمني لأخذ العينات ووضع أخذ العينات. ويتم إرسالها إلى الجامع التالي. استخدام صارمة؛ استخدام NET :: تدفق QW (تشفير فك التشفير)؛ استخدام IO :: المقبس :: إينت. بلدي $ coffect_port = 9995؛ بلدي $ send_port = 9996؛ بلدي حزمة $ = undef؛ بلدي templateref = undef؛ بلدي $ mytemplateref = {'setid' => 0، 'templateid' => 300، 'template' => ،}؛ بلدي mytemplates = ($ mytemplateref)؛ My EncodeheadeRHASHREF = {'SourceID' => 0، 'versionnum' => 9، 'sequencenum' => 0،}؛ بلدي $ r_sock = io :: المقبس :: INET-> جديد (localport => $ coffect_port، proto => "UDP")؛ بلدي $ s_sock = io :: المقبس :: iNet-> جديد (peeraddr => '127.0.0.1'، peerport => $ send_port، proto => 'UDP')؛ بينما ($ r_sock-> recv (حزمة $، 1548)) {My $ pktsarrayref = undef؛ بلدي ($ headerhrasthref، undef، $ flowarrayref، $ errorsarrayref) = net :: التدفق :: فك التشفير ($ packet، undef)؛ Grep {print "$ _n"} @ {$ errorsarrayref} إذا (@ $ errorsarrayref})؛ foreach بلدي HASHREF (@ $ flowarrayref}) {$ hashref -> {"setid"} = 300؛ Hashref -> {"34"} = Pack ("N"، $ headerhamref -> {"samplinginterval"}) إذا كان محدد $ headerhashref -> {"samplinginterval"}؛ HASHREF -> {"35"} = حزمة ("n"، $ headerhamref -> {"samplingmode"}) إذا كان محدد $ headerhashref -> {"samplingmode"}؛ } $ EncodeheadeRhashref -> {"Sysuptime"} = $ headerhashref -> {"sysuptime"}؛ $ EncodeheadeRHref -> {"UNIXSECS"} = $ headerhamhref -> {"unixsecs"}؛ $ encodeheaderhref -> {"sequencenum"} + = 1؛ ($ EncodeheadeRHREF، $ pktsarrayref، $ errorsarrayref) = net :: flow: encode ($ encodeheaderhref، mytemplates، $ flowarrayref، 1400)؛ Grep {print "$ _n"} @ {$ errorsarrayref} إذا (@ $ errorsarrayref})؛ foreach بلدي $ المرجع (@ {$ pktsarrayref}) {$ s_sock-> send (ref ref)؛ }} المتطلبات: متطلبات بيرل: perl.


نت :: التدفق برامج ذات صلة