
nray ماسح المنافذ الموزع
نراي هو ماسح ضوئي للمنافذ وطبقة التطبيقات مجاني ومستقل عن المنصة والهندسة المعمارية. يعمل نراي بطريقة موزعة لتسريع عمليات الفحص ولإجراء عمليات الفحص من نقاط مراقبة مختلفة. تسمح النتائج المبنية على الأحداث بمعالجة المعلومات بشكل إضافي أثناء الفحص، على سبيل المثال باستخدام أدوات مثل jq.
إذا كنت تبحث عن وثائق المستخدم، فالرجاء إلقاء نظرة على الصفحة الرئيسية للمشروع. للحصول على معلومات تتعلق بتطوير نراي والمساهمة فيه، تابع القراءة.
يمكنك بناء المشروع بعد استنساخ git عن طريق استدعاء go build. نراي مكتوب بلغة Go الخالصة وتم الحرص على اختيار التبعيات التي تحقق هذا المطلب أيضًا، لذلك يكفي تثبيت Go قياسي (بالإضافة إلى git) لبناء نراي على أي منصة مدعومة - وهذا يعني أنه لا يوجد اعتماد على مكتبات مثل libpcap.
ولكن هناك ملف makefile يُفترض استخدامه لبناء إصدارات الإنتاج (make release) - وهو يضمن عدم ربط أي تبعيات C وتجريد الرموز من الملفات الثنائية لتوفير المساحة. أيضًا، يتم إنشاء الملفات الثنائية لمعظم أنظمة التشغيل الشائعة تلقائيًا. استدعاء make سيبني نسخة تطوير محلية، مخصصة لنظام التشغيل والهندسة المعمارية الحاليين لديك مع ربط مكتبات C وكاشف السباق الخاص بـ Go.
ببساطة قم بتشغيل go build - في حالة الرغبة في التجميع عبر الأنظمة الأساسية، تتحكم معلمتا GOOS و GOARCH في نظام التشغيل والهندسة المعمارية المستهدفة. بالنسبة للعقد، من الممكن حقن موقع الخادم والمنفذ مباشرة في الملف الثنائي: go build -ldflags "-X main.server=10.0.0.1 -X main.port=8601". للحصول على ملفات ثنائية أصغر، قم بتجريد الأشياء غير الضرورية عبر -ldflags="-s -w" عند استدعاء go build. إذا كنت بحاجة إلى إعادة بناء مخططات protobuf (هذا غير مطلوب إلا إذا قمت بتغيير بروتوكول الأسلاك!)، قم بتشغيل make create-schemas (والذي يتطلب مترجم protobuf على نظامك).
فقط احصل على الكود وأصلح الأشياء التي تزعجك أو أضف ميزات رائعة جديدة! كل مساهمة مرحب بها والهدف هو جعل نراي مشروعًا رائعًا للمستخدمين والمساهمين!
يجب أن يجتاز كودك الفحوصات القياسية التي يقوم بها go vet و go lint. يتم دائمًا تطوير نراي مقابل أحدث إصدار من Go، لذلك إذا كنت تواجه مشكلة في بناء نراي، تحقق مما إذا كان لديك أحدث إصدار من Go مثبتًا.
حقوق الطبع والنشر 2019 بواسطة Michael Eder. مرخص بموجب GPLv3. انظر LICENSE.