شرح Wireshark في لاب Active Directory: اقرأ طلب DNS وردّه وافهم حدود الفلاتر
أمر DNS يقول لك إن الاستعلام فشل، لكنك تحتاج تعرف هل الطلب خرج من جهازك وإلى أي جهة، وهل رجع رد تقدر تقرأه. Wireshark يفيدك هنا إذا كان الالتقاط من المكان الصحيح وفي الفترة الصحيحة. أما فتح ملف حزم وتطبيق فلتر dns ثم الحكم على الدومين كله، فهذه قفزة أكبر من الدليل.
بنستخدم لابًا معزولًا ومصرحًا نقرأ فيه استعلام SRV واحدًا، ونربط السؤال بالرد. الصورة المرفقة من دليل Wireshark الرسمي تعرض مثال DNS عام، وليست نتيجة من لاب Active Directory عندنا. فائدتها توضيح أجزاء الواجهة وكيف ينتقل القارئ من صف الحزمة إلى تفاصيلها.

ابدأ بسؤال تقدر الحزم تجاوب عليه
«ليش الدومين ما يشتغل؟» سؤال واسع على ملف حزم. سؤال أدق هو «هل جهاز التدريب أرسل طلب SRV المحدد إلى DNS المعتمد خلال المحاولة، وما الرد الذي ظهر؟». هذا السؤال يحدد اسمًا ونوع طلب وفترة وجهة، ويخليك تعرف ماذا تبحث عنه قبل الضغط على التقاط.
Wireshark محلل حزم، وليس نظامًا يتخذ حكمًا تلقائيًا على أمن الشبكة. قد يعرض بروتوكولات وحقولًا وتعليقات تساعد القراءة، لكن تفسيرها يرتبط بمكان الالتقاط وسلوك التطبيق. لا تعتبر كل لون تحذيرًا أمنيًا، ولا غياب تحذير إثباتًا أن كل شيء سليم.
في اللاب، اتفق مع مسؤول البيئة على الواجهة والجهة التي يشملها الالتقاط. التقاط حركة جهازك في شبكة معزولة يختلف عن مراقبة شبكة مستخدمين لا تدخل في المهمة. الملف قد يحتوي أسماء داخلية وبيانات تطبيقات، حتى لو بدأت بسؤال DNS بسيط. حدد مكان حفظه وما ستشاركه منه من البداية.
خلنا نفترض عميلًا تدريبيًا وخادم DNS على 10.10.20.10 داخل نطاقنا. نريد استعلام _ldap._tcp.dc._msdcs.lab.test الذي سبق تعلمنا قراءته. لا نحتاج إرسال طلبات كثيرة ولا اعتراض حركة أحد؛ نجري قراءة واحدة بالطريقة المعتمدة ثم نرى أثرها المحلي.
اكتب زمن بداية التجربة والأمر الذي استخدمته والجهة التي قصدتها. ملف بلا وصف يجعل القارئ يتخيل أي صف كان مرتبطًا بمحاولتك. ومقارنة حزم من أمس بمخرج أمر من اليوم لا تثبت أن الرد نفسه تسبب في الرسالة الحالية. الدليل يحتاج علاقة زمنية واضحة بالسؤال.
واجهة صحيحة وفترة محدودة أهم من فلتر ذكي
إذا كان الجهاز عنده Ethernet وWi-Fi وVPN وواجهات افتراضية، فليس كل واجهة ترى الطلب نفسه بالطريقة نفسها. اختر الواجهة التي تمر منها حركة التجربة بحسب تصميم اللاب. حركة تبدو قليلة على واجهة لا تقول إن الجهاز لا يرسل؛ ربما تراقب مسارًا مختلفًا.
كذلك فتح الالتقاط بعد انتهاء الاستعلام لا يعرض ما فات. سجل فترة قصيرة تبدأ قبل القراءة وتنتهي بعد الرد أو المهلة المناسبة. لا تترك الملف ينمو خلال أعمال أخرى ثم تبحث في ضوضاء ما لها علاقة باللاب. الفترة المقصودة تقلل البيانات وتسهل ربط الحزم بالسلوك.
قد يجاوب حل الأسماء من ذاكرة محلية فلا يظهر طلب جديد في اللحظة التي توقعت. وقد يستخدم التطبيق مسارًا مختلفًا عن أداة الاستعلام. لذلك غياب الحزمة من قراءة محددة ليس دليلًا وحده أن خدمة DNS غير موجودة. راجع الواجهة والوقت وأداة الطلب وسياق الذاكرة قبل النفي.
لا تمسح إعدادات الشبكة أو توقف VPN أو ذاكرة النظام كلها لمجرد أن التقاطك ما ظهر فيه شيء. هذه تغييرات قد تؤثر في المسار وتضيع الحالة الأصلية. إذا تحتاج تجربة تضمن طلبًا لوجهة محددة، استخدم طريقة استعلام معتمدة داخل اللاب وسجلها، ثم ناقش حدودها مقارنة بسلوك التطبيق الذي تراجعه.
وبالنسبة للخصوصية، صلاحية فتح Wireshark على الجهاز لا توسع نطاق الالتقاط تلقائيًا. لا تدخل في اعتراض أو إعادة توجيه حركة أطراف أخرى. مثالنا يقرأ أثر استعلامنا المصرح من نقطة مراقبة معروفة، ويعلمك التفسير بدون الحاجة لأي تغيير في اتجاهات الحركة أو آليات المصادقة.
Capture Filter وDisplay Filter: لغتان لغرضين
فلتر الالتقاط يحدد الحزم التي تسمح بإدخالها إلى الالتقاط وفق لغة libpcap. فلتر العرض يحدد ما يظهر من الحزم المتاحة للتحليل وفق لغة Wireshark. الخلط بينهما يسبب خطأين: كتابة صيغة في الحقل الخطأ، أو الاعتقاد أنك تستطيع استرجاع حزم لم تلتقطها أصلًا بتغيير العرض لاحقًا.
مثال فلتر التقاط، داخل لابنا المحدد وعلى حركة DNS التقليدية إلى جهتنا المعتمدة:
host 10.10.20.10 and port 53
أما مثال فلتر عرض فهو:
dns && ip.addr == 10.10.20.10
الصيغتان تخدمان سؤالًا متقاربًا لكنهما ليستا قابلتين للتبادل. المثال المقيد يقلل التغطية عمدًا، لذلك لا تستخدمه لتقييم كل حركة الجهاز أو كل أنواع نقل DNS الممكنة. إذا كانت البيئة تستخدم تصميمًا مختلفًا، راجع طريقة الالتقاط المناسبة بدل اعتبار الملف دليلًا شاملًا.
وعند استخدام Capture Filter، اكتب حدوده مع اسم الواجهة. ربما يمنعك من رؤية أحداث تساعد تفسير مشكلة أوسع، مثل وصول إلى جهة أخرى. هذا ليس خطأ إذا كان الهدف محددًا، لكنه يصبح خطأ إذا كتبت في التقرير أنك راجعت كل اتصال الجهاز.
وDisplay Filter لا يحذف الحزم من الأصل بمجرد تصفيتها في الواجهة. لكن ما تصدره أو تحفظه قد يختلف حسب اختيارك. راجع إعداد الحفظ والتصدير بدل افتراض أن الملف الذي شاركته يضم نفس التغطية الأصلية. الفلتر والتغطية والتصدير ثلاثة تفاصيل تحتاج توثيقًا، خصوصًا إذا قارئ التقرير سيعيد التحليل.
قائمة الحزم ثم التفاصيل: الصورة تساعدك تقرأ السطر الصحيح
الصورة الرسمية تعرض قائمة الحزم في الأعلى، وتفاصيل الحزمة المختارة في الوسط، والبايتات في الأسفل. لا تحتاج قراءة كل بايت يدويًا حتى تفهم سؤال DNS. ابدأ بالصف الذي يطابق زمنك والجهة والبروتوكول، ثم وسع تفاصيله للتحقق من السؤال والأعلام والجواب.
في المثال الظاهر، توجد حزمة طلب DNS ثم رد، ويشير جزء التفاصيل إلى Request In. هذه علاقة تساعد الانتقال بين الرسالتين في الملف. لكنها تخص مثال الدليل العام، فلا تستخدم عناوينه أو أسماءه نتيجة عن لابك. لقطة تعليمية تشرح الواجهة، والدليل الذي تقرؤه يجب أن يأتي من تجربتك المصرح بها.
اقرأ المصدر والوجهة كما ظهروا في الحزمة، لا كما تتذكر من إعدادات جهازك. إذا أرسلت الاستعلام إلى خادم معين، فالمشاهدة تساعدك تقارن وجهة الطلب بتوقعك. لكن لا تستنتج من حزمة واحدة كل جهات DNS التي قد يستخدمها الجهاز في ظروف أخرى.
ولا تجعل عمود Info بديلًا عن الحقول. هو ملخص مفيد، وقد يختصر أسماء أو يترك تفاصيل خارج المساحة المتاحة. افتح السؤال والجواب وراجع ما يحتاجه الاستنتاج. النسخ من عمود Info وحده قد يسقط نوع الاستعلام أو كود الرد أو جزءًا من السجل.
في دفتر التدريب، سجل أرقام الحزم ذات العلاقة مع وصفها والوقت. الأرقام هنا مراجع داخل ملف معين، وليست معرفات عالمية تستطيع استخدامها بعد تصدير جزء بشكل مختلف. اربط الملاحظات باسم الأثر وطريقة حفظه حتى لا يذهب القارئ إلى رقم يعرض حزمة أخرى في نسخة ثانية.
فلتر الاسم يضيق البحث، ثم اقرأ نوع السؤال وردّه
للبحث عن الاسم التدريبي الذي نعرفه، مثال Display Filter:
dns.qry.name == "_ldap._tcp.dc._msdcs.lab.test"
الصيغة تسأل عن الحقل في الحزم التي يفككها Wireshark كـDNS. إذا لم ترَ نتيجة، راجع الاسم كما ظهر فعليًا في الحقل والتغطية والفلتر، بدل افتراض أن الطلب لم يحدث في أي مكان. لا تغيّر الحروف أو السياق دون الانتباه إلى المقارنة النصية.
وتستطيع فصل الطلب والرد بإضافة شرط مثل dns.flags.response == 0 للطلبات أو == 1 للردود. بعد العثور على الرسالتين، اقرأ نوع السؤال والهوية الزمنية والجهتين وما يربطهما في الأثر. لا تعتمد على تساوي رقم المعاملة وحده بدون السياق؛ ملف طويل قد يحتوي معاملات أخرى.
إذا كان السؤال SRV، افحص الإجابة التي وصلت: هل تحتوي سجلًا مقصودًا وما Target وPort والقيم الأخرى التي ظهرت؟ هذا قراءة لمحتوى الرد في نقطة الالتقاط، وليس اختبارًا أن Target يستجيب أو أن الحساب سيقبل مصادقة. المرحلة التالية لها أدلة خدمة واتصال، ولا تختصرها في نجاح DNS.
اقرأ كود الرد من تفاصيل DNS. وجود رد لا يعني جوابًا ناجحًا للاسم الذي طلبته؛ قد يوضح حالة فشل أو عدم وجود. وعدد Answers وحده لا يقدم تفسيرًا كاملًا. اربط النوع والاسم والكود والسجلات بما كنت تريد إثباته من الاستعلام.
ولما تكتب النتيجة، جملة مثل «رجع رد إلى الطلب المحدد يتضمن جهة الخدمة المعلنة» أدق من «الدومين سليم». كذلك «ظهر رد بعدم وجود الاسم في سياق الطلب» مختلف عن «خادم DNS ما رد». الفرق يبدو بسيطًا لكنه يغير اتجاه التشخيص والتوصية التي تعطيها لمسؤول البيئة.
ما فيه رد في الملف: وش تقدر تقول فعلًا؟
إذا رأيت الطلب ولم تجد ردًا ضمن الفترة، تستطيع وصف ذلك في نقطة الالتقاط وحدودها. لا تستطيع من هذه الملاحظة وحدها تعيين جهة أسقطت الحزمة أو حكم أن الخدمة متوقفة. قد تكون الفترة قصيرة أو الفلتر ضيقًا أو المسار لا يظهر الاتجاه الآخر بالطريقة التي افترضتها.
ابدأ بمراجعة حدود القياس: هل طلبك ضمن الفترة؟ هل الفلتر يسمح بالرد؟ هل الواجهة هي التي ترى الحركة في الاتجاهين؟ هل هناك معلومات عن فقد أثناء الالتقاط؟ بعد ذلك قارن نتيجة أداة الاستعلام وسجلات الجهة المعتمدة إذا كانت متاحة في نطاق المهمة.
في سيناريو بسيط، قد ترسل جهة الطلب عدة محاولات بعد تأخر الجواب. هذه تكرارات تحتاج قراءة زمنها وسياقها، ولا تعتبر كثرتها دليل هجوم تلقائيًا. إذا هدفك زمن الاستجابة، اعرف هل تقيس الطلب الأصلي أم محاولة لاحقة، وهل الفارق في الأثر يمثل الطريقة التي عرّفت بها القياس.
ولا تفسر زمن رد واحد كأداء ثابت للخادم. الشبكة والعميل والازدحام وحالة المصدر عوامل تؤثر في المشاهدة. يمكنك وصف العينة المحددة، ثم طلب قياس أوسع ومعتمد إذا السؤال يتعلق باتفاق خدمة أو أداء مستمر. اختبار مصادقة تدريبي ليس بالضرورة دراسة أداء للشبكة.
إذا كان النقل مشفرًا أو لا يظهر بتفكيك DNS الذي تستخدمه، لا تعتبر غياب حقول DNS دليلًا على غياب حل الأسماء. اقرأ تصميم البيئة وحدود ما تستطيع رؤيته. هذا المقال لا يفك تشفير حركة مؤسسية ولا يتجاوز حمايتها؛ نستخدم استعلامًا تدريبيًا تقليديًا معروفًا ليسهل تعلم العلاقة بين الطلب والرد.
ملف PCAPNG دليل حساس، لا مرفق عادي للمنتدى
الحزم قد تكشف أسماء أجهزة وخدمات وطلبات تطبيقات، وفي بعض البروتوكولات معلومات أكثر حساسية. لذلك حفظ ملف التقاط ونقله يحتاج موافقة وسياسة الجهة. لا ترفع أثر عميل كامل إلى موقع تحليل أو مجتمع عام لمجرد أنك تريد أحدًا يفسر حزمة واحدة.
في تمرينك المحلي استخدم أسماء وبيانات وهمية من البداية. وعند مشاركة الشرح، احتفظ بالمقتطف اللازم مع توضيح حدوده، ولا تخلط حذف بيانات العرض مع إزالة البيانات الأصلية من ملف الالتقاط. إخفاء عمود في الواجهة لا ينقّي ملف الحزم الذي تحفظه أو ترسله.
Wireshark يدعم حفظ وتصدير بصيغ وخيارات مختلفة. اقرأ ما الذي سيشمله التصدير: كل الحزم أم المعروضة أو المختارة، وما المعلومات التي تبقى. إذا أرسلت مقتطفًا، اذكر ذلك حتى لا يعتبره المراجع أثرًا كاملًا ينفي غياب أي طلب آخر.
احتفظ بالأصل ضمن مكان المهمة المعتمد إن كانت قواعدها تتطلبه، وسجل أي معالجة أجريتها على نسخة للمشاركة. التوثيق المهني يفرق بين الدليل الأصلي والمقتطف التعليمي. وإذا لم يكن مأذونًا بنقل الأصل، أعط الفريق وصفًا مناسبًا في قناته الداخلية بدل محاولة نشره خارجها.
والصورة الخارجية المرفقة هنا لا تحمل بيانات من مستخدم الموقع أو من لابنا. اخترناها لتشرح أجزاء الواجهة فقط. هذا فصل ضروري: الاستفادة من صورة عامة مفيدة لا تعني أن لقطة جهاز عميل تصلح للنشر بالطريقة نفسها، حتى لو كانت ألوانها ومحتواها تبدو مألوفة.
تمرين من طلب واحد وتقرير صغير
جهز مع مسؤول اللاب واجهة التقاط معروفة وخادم DNS معتمدًا واستعلام SRV محددًا. ابدأ الفترة المصرح بها، نفذ القراءة الواحدة، ثم أوقف الالتقاط. في التحليل، ابحث عن الاسم واقرأ السؤال والجهة والرد أو حدود غيابه. احفظ رقم كل حزمة ذات علاقة ضمن اسم الملف والزمن.
قارن المشاهدة بمخرج أداة DNS. إذا كان الطلب والرد يطابقان ما أعادته الأداة، فقد دعمت تفسيرًا محددًا. وإذا اختلفا، راجع التوقيت والسياق والطلبات الأخرى قبل الحكم أن الأداة عرضت نتيجة خاطئة. لا تغير إعداد الشبكة أو اسم الاستعلام بين القياسين ثم تسمي الفرق تناقضًا.
صياغة مفيدة: «في الالتقاط المحدد ظهر طلب SRV للاسم التدريبي إلى جهة DNS المعتمدة، وتبعه الرد الموصوف. لا تشمل القراءة اختيار DC الفعلي لاحقًا أو صلاحية الحساب في LDAP». هذه النتيجة تحدد ما أثبتته وتترك الخطوة التالية واضحة.
لفهم محتوى SRV قبل تتبعه في الحزم، راجع مقال DNS في المجتمع:
https://courses.cyberpts.com/community/84/dns-fy-active-directory-afhm-sjlat-srv-wlysh-alantrnt-yshtghl-waldwmyn-ma-ynlqa
مراجع الفلاتر والصورة من دليل Wireshark الرسمي:
https://www.wireshark.org/docs/wsug_html_chunked/ChCapCaptureFilterSection.html
https://www.wireshark.org/docs/wsug_html_chunked/ChWorkBuildDisplayFilterSection.html
https://www.wireshark.org/docs/dfref/d/dns.html
https://www.wireshark.org/docs/wsug_html_chunked/ChapterIntroduction.html
كلما كان سؤالك أصغر وتغطيتك معروفة، صار الملف أسهل في القراءة. Wireshark يفيدك لما تربط الحزمة بوظيفتها وحدودها، مو لما تستخدم فلترًا واحدًا وتعتبر كل شيء اختفى منه غير موجود في الشبكة.