Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
knockpy — مسح النطاق الفرعي Knock | Kitploit
أدوات/GitHubGitHub/guelfoweb/knockpy
الاستخبارات مفتوحة المصدر (OSINT)الاستطلاعجمع المعلوماتاختبار الاختراقتعداد النطاقات الفرعيةتحليل DNS
GitHubguelfoweb/knockpy

knockpy

مسح النطاق الفرعي Knock

عرض المستودع
4.2k873منذ 6 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

🔍 فحص النطاقات الفرعية Knockpy الإصدار 9.0

✅ سريع وغير متزامن • 🔐 استطلاع + قوة عمياء • 🔧 سهل التوسيع

KnockPy هي أداة موديولية بلغة Python 3 لتعداد النطاقات الفرعية عبر الاستطلاع السلبي والقوة العمياء، الآن مع دعم async/await، وأداء محسن، ومعالجة حديثة لـ HTTP/TLS.


🚀 الميزات (الإصدار 9)

  • ✅ المسح غير المتزامن مع httpx وحل DNS
  • ✅ موديولي: إضافة مصادر سلبية جديدة بسهولة
  • 🔍 يدعم الاستطلاع السلبي، القوة العمياء، أو كليهما
  • 🎨 مخرجات طرفية منسقة مع Rich (جداول، تقدم، لوحات)
  • 📜 التحقق من حالة HTTP/HTTPS، شهادة TLS، و IP
  • ⚠️ كشف دعم TLS القديم (TLS 1.0/1.1) كتحذير في CLI/مفصل/تقرير HTML
  • 🧾 فحص نقل المنطقة (AXFR) على النطاق الجذري أثناء مسح وضع النطاق
  • 🔎 تشخيصات نطاق واحد باستخدام --verbose (DNS/TCP/TLS/سلاسل إعادة التوجيه/أخطاء الطلب + فحوصات أمنية)
  • 💡 يدعم كشف DNS البدل
  • 🧪 تقارير SQLite مع كتالوج تفاعلي (show/delete/export/search)
  • 🔐 يدعم واجهة برمجة تطبيقات VirusTotal و Shodan
  • 🚀 زمن تشغيل القوة العمياء المحسّن مع تخزين نقطة نهاية فحص TLS (لا حاجة لتغييرات المهلة)

📦 التثبيت

من مصدر GitHub (موصى به)

root@kitploit:~
git clone https://github.com/guelfoweb/knockpy.git
cd knockpy
# recommended: install in a virtual environment
python3 -m venv .venv
. .venv/bin/activate
python3 -m pip install -U pip
pip install .

# alternative: install for the current user (no venv)
# python3 -m pip install --user .

⚠️ إصدار Python الموصى به: 3.9+

🧱 هيكل المشروع

تم تنظيم قاعدة الكود حسب المسؤولية، مع واجهات مستقرة للتوافق مع الإصدارات السابقة:

root@kitploit:~
knockpy/
  cli.py                   # CLI entrypoint (facade/orchestration)
  cli_parts/
    status.py              # runtime/status panel rendering
    setup.py               # interactive setup and persisted runtime defaults
    report.py              # interactive report mode
    scan_flow.py           # exclude rules, recon-test, wildcard helpers
  core.py                  # public core facade (compatibility)
  engine/
    runtime.py             # scanning engine implementation
  storage.py               # public storage facade (compatibility)
  storage_parts/
    db.py                  # SQLite persistence/settings
    export.py              # report export orchestration
    html_report.py         # HTML report rendering
  output.py                # terminal output rendering
  server_versions.py       # web-server versions catalog
  knockpy.py               # compatibility module exports

ملاحظة التوافق:

  • الاستيرادات الخارجية المفضلة: import knockpy أو from knockpy import KNOCKPY.
  • الوحدات الداخلية مقسمة إلى engine/ و cli_parts/ و storage_parts/.

باستخدام pip

فقط بعد إصدار النسخة المستقرة على GitHub

root@kitploit:~
pip install knock-subdomains

🧪 الاستخدام

root@kitploit:~
knockpy -d domain.com [options]

الخيارات

ضبط الأداء: --threads و --timeout

هذان الخياران لهما أكبر تأثير على وقت التشغيل للمسح الكبير.

  • --threads يتحكم في التزامن (عدد الأهداف التي تتم معالجتها بالتوازي)
  • --timeout يتحكم في المدة التي ينتظرها كل خطوة شبكة قبل الاستسلام

المقايضة:

  • عدد threads أعلى = مسح أسرع، ولكن حمل أكبر على وحدة المعالجة/الشبكة/DNS وزيادة خطر حدود المعدل البعيد
  • مهلة timeout أقل = مسح أسرع، ولكن خطر أكبر لفقدان أهداف بطيئة ولكن صالحة (سلبيات كاذبة)

الملفات الشخصية الموصى بها:

  • مسح صغير/دقيق (نطاقات قليلة): --threads 50 --timeout 5
  • مسح متوازن: --threads 150 --timeout 4
  • مسح كبير (10 آلاف+ نطاق): ابدأ بـ --threads 250 --timeout 3

إذا كنت بحاجة إلى السرعة والاكتمال على قوائم كبيرة جدًا، استخدم استراتيجية المرورين:

  1. مرور سريع: --threads 250 --timeout 3
  2. مرور إعادة محاولة فقط على الأهداف المفقودة/غير المؤكدة: --threads 80 --timeout 5 (أو أعلى)

ملاحظات:

  • قيم CLI تتجاوز دائمًا قيم الإعداد المحفوظة
  • قيم الإعداد المحفوظة (--setup) تتجاوز القيم الافتراضية المضمنة
  • القيم الافتراضية المضمنة الحالية هي threads=250, timeout=3

📌 أمثلة

🔎 استطلاع + قوة عمياء

root@kitploit:~
knockpy -d example.com --recon --bruteforce

🧪 اختبار خدمات الاستطلاع

root@kitploit:~
knockpy -d example.com --recon --test

🔄 تحديث كتالوج أحدث إصدارات خادم الويب

root@kitploit:~
knockpy --update-versions

🆕 التحقق من تحديثات Knockpy

root@kitploit:~
knockpy --check-update

⚙️ تكوين مصادر الاستطلاع (قابل للتعديل)

في التشغيل الأول، يقوم KnockPy بإنشاء:

root@kitploit:~
~/.knockpy/recon_services.json

يمكنك إضافة/تعطيل المصادر عن طريق تعديل مصفوفة services. يمكنك أيضًا الإشارة إلى مسار ملف مخصص دون تغيير الكود:

root@kitploit:~
export KNOCK_RECON_SERVICES=/path/to/recon_services.json

كل خدمة تدعم:

  • name (الاسم)
  • enabled (true/false) (مفعل)
  • parser (المحلل)
  • url_template (يدعم {domain}، {virustotal_key}، {shodan_key})
  • requires_api (virustotal أو shodan، اختياري)

المحللون المدعومون:

  • csv_first_column
  • rapiddns_html_td
  • json_list
  • virustotal_subdomains
  • shodan_subdomains

📥 نطاق من stdin

root@kitploit:~
echo "example.com" | knockpy -d

🧠 مفاتيح API (اختياري)

root@kitploit:~
export API_KEY_VIRUSTOTAL=your-virustotal-api-key
export API_KEY_SHODAN=your-shodan-api-key

يمكنك استخدام ملف .env:

root@kitploit:~
API_KEY_VIRUSTOTAL=your-virustotal-api-key
API_KEY_SHODAN=your-shodan-api-key

💾 التقارير (SQLite + تصدير HTML تفاعلي)

root@kitploit:~
knockpy -d example.com --recon --bruteforce
knockpy --report list
knockpy --report latest
knockpy --report

قائمة التقرير التفاعلية:

  • 1 show (عرض)
  • 2 delete (حذف)
  • 3 export (تصدير)
  • 4 search (بحث)
  • 0 reset db (إعادة تعيين قاعدة البيانات) (يطلب تأكيدًا صريحًا)

الخروج من وضع التقرير:

  • اضغط Enter عند موجه الإجراء الفارغ
  • أو اضغط CTRL+C

🔍 تشخيصات نطاق واحد

root@kitploit:~
knockpy -d forum.example.com --verbose

🧪 اختبار البدل فقط

root@kitploit:~
knockpy -d example.com --wildcard

🧬 استخدام واجهة برمجة تطبيقات Python

يمكن استخدام KnockPy كوحدة Python:

root@kitploit:~
import knockpy

result = knockpy.KNOCKPY("example.com", timeout=5.0, threads=20)
print(result["domain"], result["ip"])

أو:

root@kitploit:~
from knockpy import KNOCKPY

domain = 'example.com'

results = KNOCKPY(
    domain,
    dns="8.8.8.8",
    useragent="Mozilla/5.0",
    timeout=5,
    threads=10,
    recon=True,
    bruteforce=True,
    wordlist=None,
    silent=False
)

for entry in results:
    print(entry['domain'], entry['ip'], entry['http'], entry['cert'])

📂 قائمة الكلمات

يتم تضمين قائمة كلمات افتراضية في knockpy/wordlist/wordlist.txt. يمكنك توفير قائمتك الخاصة باستخدام --wordlist.

الاختبار

root@kitploit:~
python3 -m pytest

# (optional) smoke-run example script
python3 examples/poc.py

📖 الترخيص

مرخص بموجب ترخيص GPLv3.

Gianni Amato (@guelfoweb)

تنزيل الأداة
العلمالوصف
-d, --domainالنطاق المستهدف (أو stdin إذا استخدم بدون قيمة)
-f, --fileملف بقائمة النطاقات
--reconتمكين الاستطلاع السلبي
--bruteforce, --bruteتمكين القوة العمياء باستخدام قائمة الكلمات
--exclude TYPE VALUEاستبعاد المطابقات (status, length/lenght, body)
--verboseتشخيصات عميقة لمسح النطاق الواحد فقط
--wildcardاختبار DNS البدل والخروج
--testمع --recon، اختبار كل مصدر استطلاع (فاشل/فارغ/بيانات)
--setupالإعداد التفاعلي (القيم الافتراضية لوقت التشغيل + مفاتيح API في قاعدة البيانات)
--update-versionsتحديث كتالوج إصدارات خوادم الويب المحلي الأحدث
--report [ID|latest|list]وضع التقرير (عرض/حذف/تصدير/بحث/إعادة تعيين قاعدة البيانات، تصدير HTML)
--check-updateالتحقق عبر الإنترنت إذا كان هناك إصدار أحدث من Knockpy على PyPI
--wordlistتجاوز وقت التشغيل لقائمة الكلمات
--dnsتجاوز وقت التشغيل لمحلل DNS
--useragentتجاوز وقت التشغيل لوكيل مستخدم HTTP
--timeoutتجاوز وقت التشغيل للمهلة (بالثواني)
--threadsتجاوز وقت التشغيل لعدد العمال المتزامنين
--silentإخفاء شريط التقدم
--jsonإخراج JSON فقط (يفرض --silent)
--statusطباعة حالة وقت التشغيل والمتابعة
-h, --helpعرض رسالة المساعدة