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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/boy-hack/ksubdomain
الاستطلاعجمع المعلوماتاختبار الاختراقتعداد النطاقات الفرعيةتحليل DNS
GitHubboy-hack/ksubdomain

ksubdomain

أداة تعداد النطاقات الفرعية، حزم DNS غير متزامنة، تستخدم pcap لمسح 1,600,000 نطاق فرعي في ثانية واحدة.

عرض المستودع
1.2k162منذ 4 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
ksubdomain — أداة تعداد النطاقات الفرعية، حزم DNS غير متزامنة، تستخدم pcap لمسح 1,600,000 نطاق فرعي في ثانية واحدة. | Kitploit

KSubdomain: أداة سريعة جداً لاكتشاف النطاقات الفرعية بدون حالة

Release Go Report Card License

English | العربية

KSubdomain هي أداة لاكتشاف النطاقات الفرعية تعتمد على تقنية بدون حالة، مما يوفر سرعة مسح غير مسبوقة واستهلاكاً منخفضاً جداً للذاكرة. تستخدم المقابس الأصلية (raw sockets) للتعامل المباشر مع محول الشبكة، متجاوزة مكدس بروتوكولات نواة النظام، مع آلية إعادة إرسال موثوقة تعتمد على جدول الحالة لضمان اكتمال النتائج. تدعم Windows وLinux وmacOS، وهي الأداة المفضلة لاستكشاف أصول DNS على نطاق واسع.

🚀 المزايا الأساسية

  • سرعة فائقة: المسح بدون حالة يتعامل مباشرة مع بطاقة الشبكة، أسرع 7 مرات من massdns وأكثر من 10 مرات من dnsx
  • استهلاك منخفض جداً للموارد: تجمع الكائنات + تجمع الذاكرة العام، معالجة أعداد هائلة من النطاقات مع استهلاك منخفض للذاكرة
  • تكيف ديناميكي للمهلة: ضبط ديناميكي للمهلة بناءً على متوسط RTT المرجح (EWMA) حسب RFC 6298، بدون حاجة لضبط يدوي
  • إرسال متزامن عبر عدة بطاقات شبكة: دعم --interface مكرر لتحديد عدة بطاقات، مضاعفة عرض النطاق واستخدام عدة عناوين IP خروج
  • SDK تدفقي: واجهات برمجة استدعاء EnumStream/VerifyStream لمعالجة النتائج في الوقت الفعلي
  • دعم عبر المنصات: Windows وLinux وmacOS متوافقة تماماً

⚡ مقارنة الأداء

اختبار على معالج 4 أنوية، عرض نطاق 5 ميجابت، قاموس 100 ألف:

📦 التثبيت

تحميل الملفات الثنائية المجمعة مسبقاً

انتقل إلى Releases لتحميل أحدث إصدار لنظامك.

تثبيت التبعيات:

  • Windows: قم بتثبيت برنامج تشغيل Npcap
  • Linux: تم تجميعه بشكل ثابت، عادة لا حاجة لأي إجراء؛ في حال وجود مشاكل قم بتثبيت libpcap-dev
  • macOS: النظام يأتي مع libpcap، لا حاجة للتثبيت

التجميع من المصدر

root@kitploit:~
git clone https://github.com/boy-hack/ksubdomain.git
cd ksubdomain
# يُنصح بحقن رقم الإصدار عبر ldflags
go build -ldflags "-X github.com/boy-hack/ksubdomain/v2/pkg/core/conf.Version=v2.x.y" \
    -o ksubdomain ./cmd/ksubdomain

أو باستخدام go install:

root@kitploit:~
go install github.com/boy-hack/ksubdomain/v2/cmd/ksubdomain@latest

ملاحظة: يتطلب تشغيله صلاحية root / CAP_NET_RAW (لالتقاط الحزم عبر المقابس الأصلية)

📖 دليل الاستخدام

root@kitploit:~
الاستخدام:
  ksubdomain [خيارات عامة] <أمر> [خيارات الأمر]

الأوامر:
  enum, e      وضع التعداد: اكتشاف النطاقات الفرعية لنطاق رئيسي
  verify, v    وضع التحقق: التحقق من حل النطاقات في قائمة
  test         اختبار السرعة القصوى لإرسال الحزم لبطاقة الشبكة المحلية
  device       عرض معلومات بطاقات الشبكة المتاحة
  help, h      عرض المساعدة

الخيارات العامة:
  --help, -h        عرض المساعدة
  --version, -v     طباعة معلومات الإصدار

وضع التحقق (verify)

التحقق مما إذا كانت القائمة المقدمة من النطاقات تحتوي على سجلات DNS.

root@kitploit:~
الخيارات:
  --domain, -d          تحديد نطاق (قابل للتكرار)
  --filename, -f        قراءة قائمة النطاقات من ملف
  --stdin               القراءة من الإدخال القياسي
  --bandwidth, -b       تحديد عرض النطاق، مثل 5m، 10m، 100m (الافتراضي 3m)
  --resolvers, -r       تحديد خوادم DNS (الافتراضي استخدام المدمج)
  --output, -o          مسار ملف الإخراج
  --format, -f          تنسيق الإخراج: txt (الافتراضي)، json، csv، jsonl
  --silent, -s          وضع الصامت، إخراج النطاقات فقط (بدون banner وسجلات)
  --only-domain, --od   إخراج النطاقات فقط، بدون عرض IP/السجلات
  --retry               عدد مرات إعادة المحاولة، -1 يعني إعادة محاولة غير محدودة (الافتراضي 3)
  --timeout             مهلة الاستعلام الواحد بالثواني (الافتراضي 6)
  --interface, -e       تحديد اسم بطاقة الشبكة (قابل للتكرار، إرسال متزامن عبر عدة بطاقات)
  --wildcard-filter     تصفية الحلول العامة: none (الافتراضي)، basic، advanced
  --predict             تفعيل وضع التنبؤ بالنطاقات الفرعية
  --quiet, -q           عدم طباعة النتائج على الشاشة (الكتابة في ملف فقط)
  --color, -c           إخراج ملون
root@kitploit:~
# التحقق من نطاق واحد/عدة نطاقات
./ksubdomain v -d www.example.com -d mail.example.com

# القراءة من ملف، حفظ بتنسيق txt
./ksubdomain v -f domains.txt -o output.txt

# إدخال عبر أنبوب، عرض نطاق 10M، وضع صامت للربط مع أدوات أخرى
cat domains.txt | ./ksubdomain v --stdin -b 10m -s --od | httpx -silent

# تصفية متقدمة للحلول العامة، إخراج JSONL
./ksubdomain v -f domains.txt --wildcard-filter advanced --format jsonl -o output.jsonl

# إرسال متزامن عبر عدة بطاقات (مضاعفة عرض النطاق)
./ksubdomain v -f domains.txt --interface eth0 --interface eth1

وضع التعداد (enum)

اكتشاف النطاقات الفرعية لنطاق رئيسي باستخدام قاموس وخوارزميات تنبؤ.

root@kitploit:~
الخيارات:
  --domain, -d          النطاق الرئيسي المستهدف (قابل للتكرار)
  --domain-list, --ds   ملف النطاقات الرئيسية المتعددة
  --filename, -f        مسار ملف القاموس (الافتراضي استخدام القاموس المدمج)
  --use-ns-records      قراءة سجلات NS للنطاق وإضافتها إلى محلل DNS
  (باقي الخيارات كما في وضع verify)
root@kitploit:~
# تعداد نطاق واحد (باستخدام القاموس المدمج)
./ksubdomain e -d example.com

# تحديد ملف قاموس
./ksubdomain e -d example.com -f subdomains.txt -o result.txt

# تفعيل وضع التنبؤ + تصفية متقدمة للحلول العامة
./ksubdomain e -d example.com --predict --wildcard-filter advanced

# تعداد متعدد للنطاقات الرئيسية
./ksubdomain e --domain-list roots.txt -b 10m --format jsonl -o result.jsonl

# ربط مع httpx عبر أنبوب
./ksubdomain e -d example.com --od -s | httpx -silent

أوامر الاختبار/المعدات

root@kitploit:~
# اختبار السرعة القصوى لإرسال الحزم لبطاقة الشبكة
./ksubdomain test

# عرض بطاقات الشبكة المتاحة
./ksubdomain device

✨ الميزات الوظيفية

التكيف الديناميكي للمهلة

لا حاجة لتعيين --timeout يدوياً، المحرك يضبط تلقائياً حدود المهلة بناءً على RTT المقاس فعلياً (المتوسط المتحرك المرجح أسيّاً، EWMA α=0.125)، مما يقلل من الفقد مع تجنب الانتظار غير الضروري.

الإرسال المتزامن عبر عدة بطاقات شبكة

بتكرار --interface يمكن استخدام عدة بطاقات شبكة للإرسال في نفس الوقت، عدة goroutines تشارك نفس domainChan منافسة على الاستهلاك، مما يحقق توازن التحميل طبيعياً:

root@kitploit:~
./ksubdomain e -d example.com --interface eth0 --interface eth1 -b 20m

وضع التنبؤ

عند تفعيل --predict، تقوم الأداة بالتنبؤ بالنطاقات الفرعية المرتبطة المحتملة بناءً على النطاقات المكتشفة بالفعل، مما يزيد من نسبة الاكتشاف.

تصفية الحلول العامة (Wildcard Filter)

  • none: لا تصفية (الافتراضي)
  • basic: تصفية أساسية، إزالة عناوين IP الواضحة للحلول العامة
  • advanced: تصفية متقدمة، حكم متعدد الأبعاد

تنسيقات الإخراج

🔗 أمثلة على الربط مع أدوات أخرى

root@kitploit:~
# الربط مع httpx لاكتشاف مواقع الويب النشطة
./ksubdomain e -d example.com -s --od | httpx -silent

# الربط مع nuclei لفحص الثغرات
./ksubdomain e -d example.com -s --od | nuclei -l /dev/stdin

# معالجة تدفقية بتنسيق JSONL، أخذ سجلات A فقط
./ksubdomain e -d example.com --format jsonl | jq -r 'select(.type=="A") | .domain'

# تعداد متعدد للنطاقات + إزالة التكرار
./ksubdomain e --domain-list roots.txt -s --od | sort -u > all_subs.txt

🌐 ملاحظات المنصة

macOS:

root@kitploit:~
# BPF buffer صغير، يُنصح بتحديد عرض النطاق
sudo ./ksubdomain e -d example.com -b 5m

WSL/WSL2:

root@kitploit:~
# عادةً استخدم eth0
./ksubdomain e -d example.com --interface eth0

Windows:

root@kitploit:~
# يجب تثبيت Npcap أولاً، والتشغيل بصلاحيات المدير
.\ksubdomain.exe enum -d example.com

🧩 Go SDK

root@kitploit:~
go get github.com/boy-hack/ksubdomain/v2/sdk
root@kitploit:~
import "github.com/boy-hack/ksubdomain/v2/sdk"

scanner := sdk.NewScanner(&sdk.Config{
    Bandwidth:      "5m",
    Retry:          3,
    WildcardFilter: "advanced",
})

// الحجب وجمع كل النتائج
results, err := scanner.Enum("example.com")

// استعلام تدفقي مع دالة استدعاء للمعالجة الفورية
err = scanner.EnumStream(ctx, "example.com", func(r sdk.Result) {
    fmt.Printf("%s => %v\n", r.Domain, r.Records)
})

راجع وثائق SDK و وثائق API للمزيد.

🧪 الاختبارات

root@kitploit:~
# اختبارات الوحدة (لا تحتاج root)
go test ./pkg/...

# اختبارات الانحدار (تحتاج root + شبكة)
go build -o ksubdomain ./cmd/ksubdomain
sudo go test ./test/regression/... -tags regression -v -timeout 120s

💡 المراجع

  • مشروع KSubdomain الأصلي: knownsec/ksubdomain
  • مبدأ المسح بدون حالة: paper.seebug.org/1052
  • مقدمة عن KSubdomain: paper.seebug.org/1325

📜 الترخيص

رخصة MIT — راجع LICENSE

تنزيل الأداة
الأداةالطريقةالمدةعدد النجاحات
KSubdomainإرسال عبر بطاقة الشبكة pcap~30 ثانية1397
massdnspcap/socket~3 دقائق و29 ثانية1396
dnsxsocket~5 دقائق و26 ثانية1396
التنسيقالوصفسيناريو الاستخدام
txtالنطاق => السجل، إخراج في الوقت الفعليالافتراضي، للمراجعة البشرية
jsonJSON كامل، يُكتب بعد الانتهاءالتحليل البرمجي
csvجدول CSV، يُكتب بعد الانتهاءتحليل البيانات
jsonlسطر واحد لكل JSON، إخراج في الوقت الفعليالمعالجة التدفقية، الربط عبر الأنابيب