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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
DHCPig — نص برمجي لاستنزاف DHCP مكتوب بلغة بايثون باستخدام مكتبة الشبكة scapy | Kitploit
أدوات/GitHubGitHub/kamorin/dhcpig
الاستغلالالاختبار العشوائيأمن الشبكاتأمن الشبكات اللاسلكيةاختبار الاختراقالفريق الأحمر
GitHubkamorin/dhcpig

DHCPig

نص برمجي لاستنزاف DHCP مكتوب بلغة بايثون باستخدام مكتبة الشبكة scapy

عرض المستودع
354101منذ 11 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

DHCPig

تحقق تحصين DHCP للقبعات البيضاء: استنزف تجمّع العناوين، واختطف عقود إيجار الجيران، وأخرج المضيفين من عناوينهم عبر ARP مُزيّف، وتبيّن ما إذا كانت الشبكة أوقفتك. يتطلب صلاحيات الجذر و Python 3.11+.

تشغيل واجهة الويب

Debian / Kali: حمّل أحدث .deb من Releases وثبّته — يضع dhcpig وdhcpig-web في PATH، دون الحاجة إلى بيئة افتراضية:

root@kitploit:~
curl -LO https://github.com/kamorin/DHCPig/releases/download/v2.7.2/dhcpig_2.7.2-1_all.deb
sudo apt install ./dhcpig_2.7.2-1_all.deb
sudo dhcpig-web --open

تثبيت عام (أي لينكس، Python 3.11+، دون بيئة افتراضية):

root@kitploit:~
git clone https://github.com/kamorin/DHCPig && cd DHCPig
sudo pip install --break-system-packages .
sudo dhcpig-web --open

يثبّت مباشرة في Python النظام بصلاحيات الجذر، لذلك يجد sudo dhcpig-web الأمر دون عناء مسارات .venv/bin/. يتجاوز --break-system-packages حارس PEP 668 في دبيان/كالي الذي يمنع pip من لمس حزم النظام — هذا الحارس موجود لحماية الحزم التي يديرها apt، لا لأن هذا التثبيت غير اعتيادي؛ فملف .deb أو بيئة افتراضية يلغي الحاجة إليه أصلًا.

من المصدر (أي لينكس، Python 3.11+):

root@kitploit:~
git clone https://github.com/kamorin/DHCPig && cd DHCPig
python3 -m venv .venv && .venv/bin/pip install -e .
sudo .venv/bin/dhcpig-web --open

افتح عنوان http://127.0.0.1:8787/?token=... المعروض. ثلاث ملاحظات مهمة:

  • الجذر مطلوب في الحالتين (مقابس خام). عند التثبيت من المصدر (بيئة افتراضية)، استخدم المسار الكامل .venv/bin/ — فـsudo يعيد تعيين PATH.
  • ?token= إلزامي. بدونه ستحصل على أخطاء 401 وصفحة فارغة.
  • جهاز بلا شاشة؟ يربط التطبيق نفسه بحلقة loopback عن قصد. مرّر المنفذ، لا تعِد الربط: ssh -L 8787:127.0.0.1:8787 user@<vm-ip>. وأسقط --open.

على دبيان/كالي، نفّذ sudo apt install -y python3-venv أولًا إذا فشلت خطوة البيئة الافتراضية.

واجهة سطر الأوامر

root@kitploit:~
sudo .venv/bin/dhcpig exhaust eth0 --report run.json
sudo .venv/bin/dhcpig release eth0 --scope 192.168.4.0/22     # DESTRUCTIVE
sudo .venv/bin/dhcpig active-scan eth0 --scope 192.168.4.0/22 # read-only
sudo .venv/bin/dhcpig release-previous eth0                   # undo a previous run
dhcpig ifaces

-v0 يعرض النتائج فقط؛ -v3 يضيف تصحيحًا على مستوى الحزم. المرجع الكامل للأعلام: man dhcpig (أو packaging/dhcpig.1 قبل التثبيت).

ماذا يفعل كل وضع

استنزاف DHCP (exhaust) — تدميري

  • يعدّ جرد القطاع عبر ARP، ثم يثبت أن DHCP يعمل من هذا الجهاز ولعنوان MAC غير معروف
  • يرسل DHCPRELEASE لعقد إيجار كل جار — فالبروتوكول لا يتطلب إثبات ملكية
  • يغمر الخادم بطلبات DISCOVER/REQUEST من عناوين MAC مزيّفة حتى يتوقف الخادم عن الاستجابة
  • يعيد طلب العناوين المُحرَّرة بالاسم (خيار 50) بعد استنزاف التجمّع
  • يزيّف تعارضات ARP وفق RFC 5227 ضد ما أخذه، ليرى ما إذا كانت المضيفات تتخلى عن العنوان
  • النتيجة: هل يمكن لعميل جديد كليًا الحصول على عنوان بعد ذلك؟

تحرير عملاء DHCP النشطين (release) — تدميري

  • السلسلة نفسها دون الإغراق: جرد ← تحرير ← إعادة طلب بالاسم ← تعارض ARP
  • يستهدف الأجهزة المتصلة الآن؛ يترك التجمّع سليمًا حتى تتمكن معظمها من إعادة الحصول
  • النتيجة: هل فقد أي مضيف عنوانه وفشل في الحصول على جديد؟

ما بعد الاستنزاف / إعادة الضبط (release-previous) — استرداد

  • يعيد تشغيل سجل عقود الإيجار على القرص ويعيد كل عنوان أخذه هذا الأداة
  • مُصفّى لهذه الواجهة والشبكة وخادم DHCP؛ --max-age يُسقط الإدخالات القديمة
  • يسجّل ما إذا كان التجمّع مستنزفًا مسبقًا، لكنه يحرر عقود الإيجار المسجلة في كل الأحوال
  • النتيجة: هل التجمّع قابل للاستخدام مجددًا؟

العثور على الجيران (active-scan) — للقراءة فقط

  • يمسح نطاق العناوين عبر ARP، ويرسل DHCPINFORM واحدًا لبصمة خوادم DHCP
  • لا يأخذ أي عنوان ولا يزعج أي عقد إيجار

فحص سلبي (scan) — للقراءة فقط، عبر واجهة الأوامر فقط

  • يراقب DHCP وARP؛ يبصم المضيفات بترتيب خيار 55، ويعتمد على بائع MAC كبديل
  • لا يرسل شيئًا. يعمل حتى يُوقف

قراءة تشغيل

كل شيء يصل إلى سجل الأحداث، والأخطر أولًا: النتائج، ثم سطر لكل مضيف، ثم ملخص OUTCOME. مستوى الإسهاب Verbosity 0 (الويب) أو -v0 (واجهة الأوامر) يخفي حركة الحزم. تصدير JSON هو السجل الكامل — بينما السجل المعروض مجرد ملخص.

التراجع عن تشغيل

تبقى عقود الإيجار محفوظة بعد التشغيل حتى يمكن التحقق من حالة الاستنزاف. لتحريرها:

root@kitploit:~
sudo .venv/bin/dhcpig restore eth0             # same process still running
sudo .venv/bin/dhcpig release-previous eth0    # any time later, from the lease journal

يسجّل السجل ($XDG_STATE_HOME/dhcpig/leases-<iface>.jsonl) لكل عقد إيجار مُتَّخذ: MAC وIP والخادم والطابع الزمني — بيانات المهمة. احذفه عندما تنتهي.

إخلاء مسؤولية

شغّل هذه الأداة فقط على شبكات تملكها أو لديك إذن صريح لاختبارها. release وexhaust يعطّلان العملاء النشطين عن عمد؛ --scope اختياري وافتراضيًا يشمل القطاع بأكمله. المؤلفون ليسوا مسؤولين عن إساءة الاستخدام.

ملاحظات التصميم والدواخل: docs/DESIGN.md. المساهمة: CONTRIBUTING.md. الترخيص: GPL v2 أو أحدث.

تنزيل الأداة
الخيار
--dry-runاستطلاع فقط: جولة ARP ومعاملات تحكم تُنفَّذ فعلًا، ولا يُرسَل أي شيء مُغيّر
--scope CIDRيحدد الأهداف (قابل للتكرار)؛ الافتراضي شبكة الواجهة نفسها
--rate Nحزمة في الثانية، الافتراضي 7 — غير متاح في exhaust، لأنه يضبط وتيرته ذاتيًا
--no-evictتخطَّ مرحلة تعارض ARP
--report FILEيكتب تقرير الجلسة إلى FILE عند انتهاء التشغيل؛ الصيغة تتبع امتداد FILE (.json/.csv/.html، الافتراضي JSON)
--client-mac MACخاص بـexhaust فقط؛ استخدم عنوان MAC هذا بدل عنوان عشوائي (قابل للتكرار — يتنقل عبر القائمة)
--request-option SPECخاص بـexhaust/active-scan؛ محتوى خيار DHCP 55 (قائمة طلب المعاملات) لإرساله، مثال 12,14-19,23 (الافتراضي: ملف macOS المدمج)
--no-spoof-eth-srcخاص بـexhaust فقط؛ استخدم عنوان MAC الحقيقي لكارت الشبكة كمصدر Ethernet لكل إطار (Wi-Fi؛ نقاط الوصول تُسقط الإطارات التي لا يكون مصدرها MAC المحطة المرتبطة)