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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
dns_watchdog_windows2 — سكربت PowerShell يراقب حركة DNS في Windows عبر pktmon للكشف عن التسميم والانتحال واستجابات خادم الحلول المارق وتغييرات MAC للبوابة، مع تسجيل التنبيهات. | Kitploit
أدوات/GitHubGitHub/microlaser/dns_watchdog_windows2
أدوات دفاعيةالتقاط وتحليل الحزمتحليل الشبكة الجنائيجمع المعلوماتأمن الشبكاتكشف التسللتحليل DNSكشف الشذوذ

الأكثر شعبية

عرض الكل →

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

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

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

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

dns_watchdog_windows2

سكربت PowerShell يراقب حركة DNS في Windows عبر pktmon للكشف عن التسميم والانتحال واستجابات خادم الحلول المارق وتغييرات MAC للبوابة، مع تسجيل التنبيهات.

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

DNS Watchdog (Windows)

سكربت PowerShell أحادي الملف يراقب حركة الشبكة الخاصة بجهاز Windows نفسه بحثًا عن علامات تسميم / انتحال DNS، باستخدام pktmon — أداة التقاط الحزم المدمجة في Windows 10 (1809+)، وWindows 11، وWindows Server 2019+. لا حاجة لأي أداة التقاط خارجية (Wireshark، Npcap، tcpdump).

يلتقط حركة DNS (منفذ UDP/TCP 53) عند مكدس الشبكة في نظام التشغيل، مما يغطي حركة LAN وWAN معًا على جهاز نموذجي، ثم يحلل الحزم الخام بنفسه — صيغة pcapng الثنائية، وترويسات Ethernet/IP/UDP/TCP، وصيغة رسائل DNS، بما في ذلك مؤشرات ضغط الأسماء — بالكامل عبر PowerShell الأصلي.

توجد نسخة مرافقة بـ bash/tcpdump تغطي macOS وLinux.

ما الذي يكتشفه

الإشارةلماذا تهم
إجابات متعارضة لنفس استعلام DNSالبصمة النموذجية لمحاولة تسميم: يبادر المهاجم بإرسال إجابة مزيفة بالتزامن مع الإجابة الحقيقية، آملًا أن تصل المزيفة أولًا وتُخزَّن مؤقتًا.
ردود من خادم DNS لم تقم بتهيئته قطتُقارن مع Get-DnsClientServerAddress. قد يشير الرد من خادم غير معروف إلى مهاجم خارج المسار يحقن إجابات.
ردود بلا استعلام معلّق مطابقإجابة على سؤال لم يرصد المراقب طرحه قط — علامة محتملة على حركة محقونة/منتحلة (مع فترة سماح عند البدء لتجنب الإنذارات الكاذبة).
تغيّر عنوان MAC للبوابة الافتراضية أثناء الجلسةيُستطلع عبر Get-NetNeighbor في كل دورة التقاط. انتحال ARP هو عادةً الخطوة الأولى التي يتخذها المهاجمون لتثبيت موقعهم لتلاعب DNS على LAN.

كل تنبيه يطبع جزأين:

  • [TECHNICAL] — تفاصيل الحزمة الخام، لمن يرغب في التحقيق أكثر
  • [WHAT THIS MEANS] — شرح بلغة مبسطة لسبب أهميته

كما تُكتب كل المخرجات إلى ملف سجل بطابع زمني.

المتطلبات

  • Windows 10 (1809+)، أو Windows 11، أو Windows Server 2019+، مع توفر pktmon.exe (مدمج في كل هذه الإصدارات)
  • إصدار حديث نسبيًا — أُضيف pktmon pcapng (المستخدم لتحويل عمليات الالتقاط للتحليل) بعد الإصدار الأولي 1809؛ إذا كان مفقودًا، فحدّث Windows
  • تشغيل PowerShell كمسؤول (Administrator) (التقاط الحزم يتطلب ذلك)

التثبيت

git clone https://github.com/microlaser/dns-watchdog.git
cd dns-watchdog\windows

لا توجد وحدات أو تبعيات خارجية للتثبيت — فقط السكربت نفسه.

الاستخدام

من PowerShell مرفوع الصلاحيات (Administrator):

.\dns_watchdog.ps1

افتراضيًا يكتشف السكربت تلقائيًا البوابة الافتراضية وخوادم DNS المهيأة، ويلتقط عبر جميع محولات الشبكة (يعمل pktmon عند مكدس الشبكة في نظام التشغيل، لذا يغطي طبيعيًا حركة LAN وWAN معًا دون اختيار محول محدد). أوقف المراقبة بـ Ctrl+C؛ تُطبع ملخص الجلسة عند الخروج.

المعاملات

.\dns_watchdog.ps1 [-LogFile <path>] [-CaptureIntervalSeconds <n>] [-GraceResponses <n>] [-KeepCaptures]
المعاملالوصف
-LogFileمسار سجل الجلسة (الافتراضي: .\dns_watchdog_<timestamp>.log)
-CaptureIntervalSecondsطول كل نافذة التقاط قبل تحويلها وتحليلها. أقل = زمن اكتشاف أقل، وحمل أكبر. الافتراضي: 5
-GraceResponsesعدد الردود التي تُلاحظ قبل تفعيل تنبيهات "لا استعلام مطابق"، لتجنب ضوضاء البدء. الافتراضي: 10
-KeepCapturesالاحتفاظ بملفات .etl/.pcapng لكل نافذة على القرص بدلًا من حذفها بعد التحليل

جلسة مثال

=========================================================================
 DNS Watchdog (Windows) - DNS poisoning / spoofing monitor
=========================================================================
Capturing on:      all network adapters (pktmon captures at the OS networking stack,
                   which covers this host's LAN and WAN traffic together)
Default gateway:   192.168.1.1  (MAC baseline: 60-95-F8-2B-5E-78)
Configured DNS:    192.168.0.1, 192.168.1.1
Log file:          .\dns_watchdog_20260918_204725.log
...

[20:47:44.872] [ALERT] Conflicting DNS responses for the same query
  [TECHNICAL] txn=64878  query=example.com (type 28)  first_response=[AAAA:2607:f8b0:...]  conflicting_response(src=10.0.0.9)=[AAAA:dead:beef::1]
  [WHAT THIS MEANS] This machine's DNS question got two DIFFERENT answers back. Legitimate DNS servers don't normally do this. This is the textbook signature of a DNS poisoning attempt, where an attacker races a forged answer against the real one, hoping the forged one arrives first and gets cached.

كيف يعمل

لا يوجد في Windows ما يعادل مباشرة تمرير tcpdump إلى محلل نصي — فمخرجات وحدة تحكم pktmon الحية هي بايتات خام، وليست أسطرًا مفكوكة. لذا يقوم هذا السكربت بدلًا من ذلك بما يلي:

  1. تشغيل pktmon في نوافذ قصيرة متعاقبة (5 ثوانٍ افتراضيًا)، مع الالتقاط إلى .etl
  2. تحويل كل نافذة إلى .pcapng (pktmon pcapng)
  3. تحليل صيغة pcapng الثنائية مباشرة — بقراءة كتل الحزم المحسّنة (Enhanced Packet Blocks)، ثم التنقل عبر ترويسات IP → UDP/TCP → رسالة DNS لكل إطار، بما في ذلك فك ترميز مؤشرات ضغط أسماء DNS — دون أي مكتبات خارجية
  4. تتبع معرّفات معاملات DNS عبر نوافذ الالتقاط باستخدام جداول تجزئة PowerShell الأصلية التي تبقى طوال عمر العملية، مع الإشارة إلى التعارضات والشذوذ عند رصدها
  5. استطلاع مدخل ARP للبوابة بشكل منفصل في كل دورة لالتقاط تغيّرات عنوان MAC

ملاحظة جديرة بالمعرفة: غالبًا ما يلتقط Windows الحزم المولّدة محليًا (الصادرة) قبل إضافة ترويسة Ethernet عند بعض نقاط التفتيش في المكدس، لذا قد تصل استعلامات DNS الصادرة كحزم IP مجردة بلا أي تأطير لطبقة الربط، بينما تصل الردود الواردة مؤطرة بالكامل بـ Ethernet من السلك. يكتشف المحلل الحالتين ويتعامل معهما. كما يميل pktmon إلى الإبلاغ عن نفس الحزمة الفيزيائية أكثر من مرة (تُلتقط عند نقاط متعددة في مكدس الشبكة)؛ يزيل السكربت التكرارات المتطابقة بايتًا ببايت داخل كل نافذة التقاط حتى لا يُنبَّه على حزمة حقيقية واحدة عدة مرات — أما الرد المتعارض/المسموم فعليًا فمحتواه مختلف، لذا لا يتأثر أبدًا بهذه إزالة التكرار.

القيود

  • هذا مراقب استكشافي (heuristic)، وليس ضمانًا. قد يكون التنبيه المنفرد المعزول إنذارًا كاذبًا (مثل تبديل VPN للمحللات أثناء الجلسة، أو CDN يعيد عناوين IP صالحة متعددة). التنبيهات المتكررة أو المتجمعة أكثر دلالة بكثير من تنبيه لمرة واحدة.
  • توجد فجوة صغيرة بين نوافذ الالتقاط (إيقاف → تحويل → إعادة تشغيل) بدلًا من التقاط مستمر فعليًا.
  • لا يُعاد تجميع ردود DNS-over-TCP الممتدة عبر مقاطع TCP متعددة — وهذا مقبول للاستعلامات العادية، لكنه قيد حقيقي للردود الكبيرة على غرار نقل المناطق (zone transfer).
  • يتطلب تحويل pktmon pcapng إصدار Windows حديثًا نسبيًا؛ قد تحتاج الأنظمة القديمة جدًا من حقبة 1809 إلى الرجوع إلى pktmon etl2txt بدلًا منه (غير مُنفَّذ هنا).
  • يراقب الحركة على المضيف الذي يعمل عليه؛ ولا يمكنه رؤية التسميم الذي يحدث بالكامل داخل ذاكرة خادم محلل بعيد قبل أن تصل الإجابة إلى هذا الجهاز أصلًا.

الترخيص

MIT (أو حدّثه ليطابق تفضيلاتك).

تنزيل الأداة