Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
findcdn — يقوم بفحص النطاقات لتحديد شبكة توصيل المحتوى (CDN) التي تستخدمها من خلال بصمة رؤوس HTTPS وسجلات CNAME وبيانات WHOIS، مع إخراج JSON ودعم الوحدات. | Kitploit
أدوات/GitHubGitHub/cisagov/findcdn
الاستخبارات مفتوحة المصدر (OSINT)الاستطلاعتخطيط الشبكةجمع المعلوماتالأدوات والمكوناتانتحال البصمة الرقميةتحليل DNS
GitHubcisagov/findcdn

findcdn

يقوم بفحص النطاقات لتحديد شبكة توصيل المحتوى (CDN) التي تستخدمها من خلال بصمة رؤوس HTTPS وسجلات CNAME وبيانات WHOIS، مع إخراج JSON ودعم الوحدات.

عرض المستودع
1232313منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

findcdn

GitHub Build Status Coverage Status Total alerts Language grade: Python Known Vulnerabilities

findcdn، هي أداة يمكنها فحص واكتشاف نوع شبكة توزيع المحتوى (CDN) التي يستخدمها النطاق. يمكن لـ findcdn حفظ النتائج في ملف، أو استخدامها كوحدة نمطية، أو مجرد إخراجها إلى stdout.

تساعد findcdn مستخدمي الأداة على تحديد أي CDN يستخدمه النطاق بدقة. قائمة النطاقات المدعومة مدرجة في ملف cdn_config.py في المستودع. يمكن تنفيذ المكتبة كأداة مستقلة أو كوحدة نمطية قابلة للاستيراد في مشروعك. في كلتا الحالتين، يمكن كتابة النتائج إلى ملف إخراج.

البدء

تتطلب findcdn Python 3.7+. Python 2 غير مدعوم.

يمكن تثبيت findcdn كوحدة نمطية باستخدام pip وملف requirements.txt في المستودع.

التثبيت كوحدة نمطية

يمكن تثبيت findcdn عبر pip:

root@kitploit:~
pip install --requirement requirements.txt

يمكن بعد ذلك تشغيلها مباشرة:

root@kitploit:~
findcdn list github.com

بدلاً من ذلك يمكنك التثبيت بسرعة في أي مشروع باستخدام:

root@kitploit:~
pip install git+https://github.com/cisagov/findcdn.git

ملاحظة: يوصى باستخدام بيئة Python افتراضية لتثبيت الوحدات النمطية والحفاظ على بيئتك نظيفة. إذا كنت ترغب في ذلك، ستحتاج إلى pyenv و إضافة pyenv-virtualenv قبل تثبيت الوحدة النمطية.

الاستخدام المستقل والأمثلة

root@kitploit:~
findcdn file <fileIn> [options]
findcdn list  <domain>... [options]
findcdn (-h | --help)

findcnd -h
findcdn file domains.txt -o output_cdn.txt -t 17 -d
findcdn list dhs.gov cisa.gov -o output_cnd.txt -v
findcdn list cisa.gov

الخيارات

root@kitploit:~
  -h --help                    Show this message.
  --version                    Show the current version.
  -o FILE --output=FILE        If specified, then the JSON output file will be
                               created at the specified value.
  -v --verbose                 Includes additional print statements.
  --all                        Includes domains with and without a CDN
                               in output.
  -d --double                  Run the checks twice to increase accuracy.
  -t --threads=<thread_count>  Number of threads, otherwise use default.
  --timeout=<timeout>          Max duration in seconds to wait for a domain to
                               conclude processing, otherwise use default.
  --user_agent=<user_agent>    Set the user agent to use, otherwise
                               use default.

مثال على الإخراج

root@kitploit:~
user2@ubuntu:~$ findcdn list asu.edu -t 7 --double
Using 7 threads.
[Pending: 0 jobs]==[Threads: 2]: 100%|███████████████████████████████| 2/2 [00:00<00:00,  2.22it/s]
{
    "date": "06/19/2020, 13:00:38",
    "CDN_count": "1",
    "domains": {
        "asu.edu": {
            "IP": "'104.16.50.14'",
            "cdns": "'.cloudflare.com'",
            "cdns_by_names": "'Cloudflare'"
        }
    }
}
Domain processing completed.
1 domains had CDN's out of 1.

asciicast

استخدام المكتبة

نظرًا لأنه يمكن تثبيت findcdn كوحدة نمطية، يمكن استدعاء قدرتها على اكتشاف CDN وتنفيذها في أي مشروع. أولاً، قم باستيراد findcdn إلى مشروعك، كما هو موضح أعلاه. ثم مرر لها قائمة بالنطاقات لتحليلها. بعد المعالجة، سيعيد البرنامج كائن JSON يحتوي على النطاقات المُدخلة وشبكات CDN التي تستخدمها.

يتم تحديد طريقة عمل findcdn من خلال الخيارات المُمررة؛ الخيارات الممكنة الحالية ومثال مكتوب أدناه لراحتك:

root@kitploit:~
findcdn.main(
    domain_list: List[str],  # List of domains to search
    output_path: str = None,  # if included, output results to JSON
    verbose: bool = False,  # Verbose mode (more printing!)
    all_domains: bool = False,  # Includes domains that dont have cdn's in the output
    interactive: bool = False,  # Includes a progress bar (normally used for command line)
    double_in: bool = False,  #D ouble the number of tries on a domain to increase accuracy
    threads: int = THREADS,  # Number of threads to use
    timeout: int = TIMEOUT,  # How long to wait on a domain
    user_agent: str = USER_AGENT,  # User Agent to use
)

مثال

root@kitploit:~
import findcdn
import json

domains = ['google.com', 'cisa.gov', 'censys.io', 'yahoo.com', 'pbs.org', 'github.com']
resp_json = findcdn.main(domains, output_path="output.json", double_in=True, threads=23)

dumped_json = json.loads(resp_json)

for domain in dumped_json['domains']:
    print(f"{domain} has CDNs:\n {dumped_json['domains'][domain]['cdns']}")

كيف تعمل

تنقسم findcdn إلى ثلاثة أقسام:

  • ملف التشغيل الرئيسي لـ findcdn
    • يتحقق من النطاقات المُدخلة وينظمها
    • ينسق استخدام محرك CDN باستخدام قائمة النطاقات
    • يُخرج شبكات CDN للنطاقات بصيغة JSON إلى stdout وإلى ملف إذا تم اختياره
  • محرك CDN
    • ينظم جميع النطاقات في "قدر"
    • سيستخدم Chef مكتبة اكتشاف CDN للحصول على جميع شبكات CDN لكل نطاق
    • ثم يقوم Chef بتحليل لتعيين قيمة has_cdn المنطقية إذا اكتشف أن النطاق لديه CDN ثم يعيد قائمة النطاقات إلى ملف التشغيل
  • اكتشاف CDN
    • سيجمع البيانات من:
      • رؤوس خادم HTTPS
      • سجلات CNAME
      • بيانات WHOIS
    • من كل من هذه، يقوم بتشغيل فحص بصمة لتحديد أي شبكات CDN محددة في cdn_config.py.

التاريخ

كان الغرض الأصلي لهذه الأداة هو الكشف التلقائي عما إذا كان النطاق الذي يستخدم CDN قابلاً للتوجيه الأمامي. نظرًا للنفقات الكبيرة لاكتشاف التوجيه الأمامي، قمنا بتحويل تطوير هذه الأداة ليكون حصريًا أداة اكتشاف CDN. نستخدم ويكي لوصف المزيد حول ما هو Domain Fronting، وملاحظاتنا البحثية، وقرارات التصميم، وأدلة التشغيل لتوجيه نطاقات محددة. إذا وجدت أي نطاقات إضافية قابلة للتوجيه الأمامي أو أي عيوب في أدلة التشغيل الحالية، يرجى التفكير في المساهمة!

ملخص تغييرات المشروع

  • المشروع الآن مخصص لـ اكتشاف CDN.
    • كان تحديد قابلية التوجيه الأمامي غير عملي لكل مزود CDN.
  • الموارد والملاحظات وأدلة التشغيل متاحة الآن في ويكي هذا المستودع.
  • أي ملاحظات أو تحسينات أو أدلة تشغيل إضافية موضع تقدير دائمًا.

مزيد من المعلومات

توجد مزيد من المعلومات على صفحة الويكي الخاصة بنا. نشجعك على تقديم طلبات الميزات أو المساهمة بأي شيء ترغب في رؤيته مضافًا إلى المشروع أو الويكي.

يمكن أن يكون هذا أيًا مما يلي:

  • معلومات تتعلق بالتوجيه الأمامي للنطاقات
  • أدلة تشغيل لتوجيه نطاقات مختلفة
  • طرق اكتشاف أفضل لـ CDN
  • تحديثات عامة لصفحات الويكي الحالية

المساهمة

نرحب بالمساهمات! يرجى الاطلاع على CONTRIBUTING.md للحصول على التفاصيل.

الترخيص

هذا المشروع في الملكية العامة العالمية.

هذا المشروع في الملكية العامة داخل الولايات المتحدة، و حقوق النشر والحقوق ذات الصلة في العمل عالميًا متنازل عنها من خلال إهداء CC0 1.0 Universal للملكية العامة.

سيتم إصدار جميع المساهمات في هذا المشروع بموجب إهداء CC0. من خلال تقديم طلب سحب، فإنك توافق على الامتثال لهذا التنازل عن مصلحة حقوق النشر.

تنزيل الأداة