unified2 বাইনারি লগ বিন্যাস unified2 ID- র জন্য একটি বিশুদ্ধ-পাইথন পার্সার (মনে হয় [হ্রেষাধ্বনি] (http://snort.org)) হয়.
মডিউল পাইথন অবজেক্টের মধ্যে বাইনারি "unified2" বিন্যাসে মুক্তপ্রযুক্তি লগ প্রক্রিয়া করতে পারবেন.
এটা নিয়ম আইডি সমাধান না এবং যে ভূমিকা barnyard2 বা হ্রেষাধ্বনি নিজেই জন্য একটি প্রতিস্থাপন করা বোঝানো হয় না.
প্রধান উদ্দেশ্য সূত্রপাত কিছু বিশেষ সঙ্গে যুক্ত লগ থেকে একটি প্যাকেট তথ্য, নিষ্কাশন করা হয় নিয়ম (এবং সমাধান / অন্যান্য উপায়ে, যেমন alert_syslog বা alert_csv হ্রেষাধ্বনি মডিউল মাধ্যমে আলাদাভাবে লগ), তাই আমি প্রক্রিয়াকরণ ঘটনা মেটাডেটা অনেক মনোযোগ দেওয়া হয়নি.
মডিউল সি উপাদান নেই এবং ctypes ব্যবহার করে না, তাই অ cPython ভাষা বাস্তবায়নের মোটামুটি পোর্টেবল হতে হবে.
বিন্যাস
বিন্যাস সংজ্ঞা pyclibrary মডিউল মাধ্যমে হ্রেষাধ্বনি হেডার (src / sfutil / Unified2_common.h) থেকে প্রাপ্ত করা হয় এবং _format.py / unified2 ফাইলের মধ্যে ক্যাশে করা হবে.
নবীনতর সংজ্ঞা (নতুন ধরনের তথ্য যোগ করা হয়েছে কিনা বলে,) হ্রেষাধ্বনি এর Unified2_common.h একই স্ক্রিপ্ট ব্যবহার করে তৈরি করা যেতে পারে:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Bzr শাখা এলপি: pyclibrary
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; সিডি pyclibrary
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; পাইথন ... / unified2 / _format.py ... / snort-2.XYZ/src/sfutil/Unified2_common.h
সংস্থাপনা
এটা পাইথন 2.7 (না 3.X) জন্য একটি নিয়মিত প্যাকেজ এর.
পিপ ব্যবহার করে ভাল উপায়:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % পিপ unified2 ইনস্টল
যদি আপনি এটি না থাকে, ব্যবহার করুন:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install পিপ
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % পিপ unified2 ইনস্টল
অন্যথায় এছাড়াও দেখুন:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % কার্ল https://raw.github.com/pypa/pip/master/contrib/get-pip.py | ময়াল সাপ
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % পিপ unified2 ইনস্টল
অথবা, আপনি একেবারে অবশ্যই যদি:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % Easy_install unified2
কিন্তু, আপনি সত্যিই যে কি করা উচিত.
বর্তমান-Git সংস্করণ এই মত ইনস্টল করা যেতে পারে:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % পিপ -e ইনস্টল 'Git: //github.com/mk-fg/unified2.git#egg=unified2'
ব্যবহারের
সহজ উদাহরণ:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; আমদানি unified2.parser
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; unified2.parser.parse মধ্যে ev, ev_tail জন্য ('হবে / var / / হ্রেষাধ্বনি / snort.u2.1337060186 লগ ইন করুন'):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; মুদ্রণ 'ইভেন্ট', EV
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; মুদ্রণ 'ইভেন্ট পুচ্ছ:' ev_tail যদি ev_tail
ইভেন্ট বস্তুর এখানে একটি ফোঁটা বা মেটাডাটা-অভি এর অনুরূপ একটি পৌনঃপুনিকভাবে-পার্স Tuple এবং "লেঙ্গুড়" (UNIFIED2_EXTRA_DATA জন্য যেমন) হতে পারেন, যা মেটাডেটা একটি অভি এবং একটি "লেঙ্গুড়", হয়.
unified2.parser.Parser ইন্টারফেস সেরা unified2.parser.read ফাংশন দ্বারা চিত্রিত করা হয়:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; পার্সার, buff_agg = পার্সার (), ''
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; সত্য যখন:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; বাদামি = parser.read (src)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; বাদামি, যদি না: বিরতি # ফাইলের শেষে
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; buff_agg + + = বাদামি
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; সত্য যখন:
buff_agg, EV = parser.process (buff_agg)
বিরতি: EV কেউ যদি
ফলন EV
এখানে ধারণা Parser.read পদ্ধতি তবে অনেক বাইট পার্সার (U2 লগ ক্ষেত্রে এক প্যাকেট,) তথ্য পরবর্তী parseable খণ্ড পেতে প্রয়োজন বা যাই হোক না কেন পড়া যায় ফিরে, (যেমন একটি ফাইল বস্তু) একটি প্রবাহ সঙ্গে বলা উচিত যে মুহূর্তে, খালি স্ট্রিং সাধারণত ফাইলের শেষে হয়তো বা অ ব্লক পড়া রিটার্ন একটি লক্ষণ.
এবং (অ পার্স) বাফার তথ্য অবশিষ্ট (বাফার যথেষ্ট বড় হয় না, অথবা none) Parser.process তারপর সেখান থেকে পার্স করা যেতে পারে যে প্রথম প্যাকেট ফিরে, জমা (Parser.read কল করে) বাফার সঙ্গে বলা উচিত.
আবশ্যক
- পাইথন
পাওয়া মন্তব্যসমূহ না