
مجموعة أدوات إثراء النطاق $ pip install richkit
Richkit هي حزمة بايثون 3 توفر أدوات تأخذ اسم نطاق كمدخل، وتعيد معلومات إضافية حول هذا النطاق. يمكن أن يكون تحليلاً للنطاق نفسه، أو استعلامًا من قواعد البيانات، أو استردادًا من خدمات أخرى، أو مزيجًا من ذلك.
الغرض من Richkit هو توفير مكتبة قابلة لإعادة الاستخدام لوظائف التحليل والاستعلام والاسترداد المتعلقة بأسماء النطاقات، والتي يتم مشاركتها داخل مجموعة أبحاث أمن الشبكات في جامعة ألبورغ، كما أنها متاحة للجمهور لإعادة الاستخدام والتعديل.
يمكن العثور على الوثائق على https://richkit.readthedocs.io/en/latest/.
Python >= 3.5لتثبيت Richikit، اكتب في الطرفية pip install richkit
يمكن استخدام الأكواد التالية لاسترداد نطاق المستوى الأعلى وفئة عنوان URL، على التوالي.
استرداد نطاق المستوى الأعلى الفعال لعنوان URL معين:
>>> from richkit.analyse import tld
>>> urls = ["www.aau.dk","www.github.com","www.google.com"]
>>>
>>> for url in urls:
... print(tld(url))
dk
com
com
استرداد فئة عنوان URL معين:
>>> from richkit.retrieve.symantec import fetch_from_internet
>>> from richkit.retrieve.symantec import LocalCategoryDB
>>>
>>> urls = ["www.aau.dk","www.github.com","www.google.com"]
>>>
>>> local_db = LocalCategoryDB()
>>> for url in urls:
... url_category=local_db.get_category(url)
... if url_category=='':
... url_category=fetch_from_internet(url)
... print(url_category)
Education
Technology/Internet
Search Engines/Portals
يحدد Richkit مجموعة من الوظائف مصنفة حسب الوحدات التالية:
richkit.analyse: توفر هذه الوحدة دوال يمكن تطبيقها على اسم نطاق. على غرار richkit.lookup، وعلى عكس richkit.retrieve، يتم ذلك دون الكشف عن اسم النطاق لأطراف ثالثة وانتهاك السرية.
richkit.lookup: توفر هذه الوحدة القدرة على الاستعلام عن أسماء النطاقات في موارد محلية، أي لا يمكن إرسال اسم النطاق إلى أطراف ثالثة. قد تقوم الوحدة بجلب موارد مثل القوائم أو قواعد البيانات، ولكن يجب أن يتم ذلك بطريقة تحافظ على سرية اسم النطاق. قارن هذا مع richkit.retrieve.
richkit.retrieve: توفر هذه الوحدة القدرة على استرداد البيانات حول أسماء النطاقات من أي نوع. تأتي بدون "عقد السرية" الخاص بـ richkit.lookup.
لتجنب أي مشاكل تتعلق بالبيئة، نقدم ملف Dockerfile.test الذي يقوم أساسًا ببناء صورة Docker لتشغيل اختبارات Richkit.
MAXMIND_LICENCE_KEY في ملف .github/local-test/run-test.sh في السطر 3. وهو مطلوب لاجتياز حالات الاختبار لوحدة lookup.أوامر اختبارها في بيئة Docker.
docker build -t richkit-test -f Dockerfile.test . : يبني الصورة المطلوبة لتشغيل حالات الاختبار
docker run -e MAXMIND_LICENSE_KEY="<licence-key> " richkit-test : يقوم بتشغيل ملف run-test.sh داخل صورة Docker.
المساهمات مرحب بها جدًا.
نحن نستخدم استراتيجية التفرع gitflow، لذا إذا كنت تخطط لدفع فرع إلى هذا المستودع، فيرجى اتباع ذلك. لاحظ أننا نختبر أسماء الفروع باستخدام .githooks/check-branch-name.py. يمكن استخدام خطاف git قبل الالتزام للتحقق من ذلك تلقائيًا عند الالتزام. يتوفر مثال يمكن استخدامه مباشرة كما يلي على لينكس، ويمكن تمكينه مثل هذا (بافتراض python>=3.6 و bash):
ln -s $(pwd)/.githooks/pre-commit.linux.sample $(pwd)/.git/hooks/pre-commit