التجاوز إلى المحتوى
معرفة تقنية، بلغة عربية واضحة.GEEK4ARAB / مساحة للأفكار التي تصنع المستقبل
المدرسة العربية للبرمجةجيك للعرب · أخبار، معرفة، وتجربة
ادارة السيرفرات

مختبر Nmap محلي باستخدام Docker: خدمة واحدة ونطاق واضح

geekadmin••4 دقائق قراءة
لقطة Docker Desktop تعرض حاوية welcome-to-docker مع ربط المنفذ 8080 بالمنفذ 80
لقطة Docker Desktop تعرض حاوية مع منفذ منشور، من وثائق Docker الرسمية
لقطة مرجعية من وثائق Docker توضح عرض المنفذ المنشور؛ الحاوية المعروضة مثال رسمي مختلف عن حاوية التدريب.

يمكن تجهيز مختبر Nmap محلي باستخدام حاوية Nginx تنشر منفذًا على عنوان الجهاز المحلي. يمنحك ذلك هدفًا تعرف خدمته وإعداداته، فتقارن نتيجة الفحص بما جهّزته فعلًا. لا تحتاج إلى البدء براوتر المنزل أو نطاق كامل كي تفهم معنى منفذ يستقبل الاتصال.

في هذا الدرس من جيك للعرب (Geek4Arab) سنحدد بيئة صغيرة: الجهاز المضيف هو الفاحص، وحاوية Nginx هي الخدمة، والمنفذ المحلي 8080 هو موضع التجربة. الأوامر تعليمية ولم تُنفذ أثناء إعداد المقال؛ لا تمثل اللقطات الرسمية المرفقة نتائج تنفيذها.

ماذا تحتاج لإنشاء مختبر Nmap محلي؟

تحتاج إلى Docker يعمل، وإلى Nmap مثبت على الجهاز الذي ستكتب الأوامر فيه. وجود الأمر في الطرفية لا يكفي لإثبات أن محرك Docker يعمل. افحص الإصدار والاتصال بالمحرك قبل إنشاء الحاوية، ودوّن نظام التشغيل الذي تستخدمه لتفسير أي اختلاف لاحقًا.

docker version
nmap --version

يمكن تثبيت Nmap من موقعه الرسمي على Windows، أو من مستودعات توزيعتك على Linux. لا تحتاج إلى توزيعة Kali لهذا التمرين. إذا اخترت Windows، انتبه إلى متطلبات الحزمة ومكوّن Npcap وفق دليل التثبيت، بدل نسخ خطوات توزيعة Linux إلى PowerShell.

إذا لم تتعامل مع الحاويات سابقًا، راجع مقدمة Docker وتشغيل أول حاوية. افهم الفرق بين الصورة والحاوية، ثم عد إلى هذا المثال. استخدام آلة افتراضية يظل خيارًا آخر، لكنه يضيف إعداد شبكة لا نحتاجه لتجربة منفذ واحد.

كيف تنشئ خدمة التدريب دون نشرها على جميع الواجهات؟

اربط المنفذ بعنوان 127.0.0.1 صراحة. حذف هذا العنوان من خيار النشر قد يجعل الخدمة متاحة عبر واجهات أخرى للمضيف، بحسب إعدادات Docker والشبكة. استخدم اسمًا واضحًا لحاوية التدريب حتى لا تختلط بحاويات مشاريعك.

docker run --name g4a-nmap-lab -d -p 127.0.0.1:8080:80 nginx:stable
docker ps --filter name=g4a-nmap-lab

المنفذ 8080 يخص جهازك، والمنفذ 80 يخص الخدمة داخل الحاوية. الوصول من المتصفح على المضيف يكون عبر http://127.0.0.1:8080. لا تكتب منفذ الحاوية 80 في مكان 8080 وتفترض أنهما العنوان نفسه. يشرح درس شبكات Docker والمنافذ هذه الحدود بتفصيل أكبر.

كيف تتحقق من جاهزية الهدف؟

افتح الصفحة في متصفح المضيف أولًا. ظهور صفحة Nginx المتوقعة يساعدك على تأكيد أن الخدمة تعمل وأنك تستخدم منفذ النشر الصحيح. إذا لم تظهر، افحص حالة الحاوية وسجلاتها قبل اتهام Nmap أو تغيير خيارات الفحص.

docker logs --tail 20 g4a-nmap-lab

سجّل ثلاث معلومات: اسم الحاوية، وعنوان الوصول، والمنفذ المنشور. ثم اكتب النتيجة التي تتوقعها من الفحص قبل تشغيله: وجود خدمة TCP على 8080. هذه الورقة الصغيرة تحول التجربة من نسخ أمر إلى مقارنة بين إعداد معروف وملاحظة قابلة للتفسير.

متى لا يعني localhost الجهاز الذي تقصده؟

يشير localhost إلى بيئة التنفيذ الحالية. إذا شغّلت Nmap داخل حاوية ثانية، فلن يشير 127.0.0.1 إلى جهاز المضيف. وكذلك إذا استخدمت طرفية داخل آلة افتراضية. لهذا يبدأ هذا الدرس بكتابة الأوامر على المضيف نفسه، دون إضافة حاوية فاحص أو شبكة وسيطة.

قد تعمل بعض البيئات مثل WSL بترتيبات شبكة مختلفة. لا تجعل أول تجربة خليطًا من Windows وWSL وحاويات إضافية. اختر مكانًا واحدًا للفاحص، واختبر فتح عنوان الخدمة منه. نجاح الوصول في متصفح Windows لا يثبت وحده أن بيئة Linux منفصلة ترى الهدف بالطريقة نفسها.

كيف تنهي المختبر وتعيد التجربة؟

أوقف حاوية التدريب عندما تنتهي. تستطيع تشغيل الحاوية الموجودة مجددًا دون إنشاء نسخة أخرى، أو حذفها بالاسم إذا أردت إعادة بنائها لاحقًا. لا تستخدم أوامر تنظيف جماعية لحاوياتك الأخرى من أجل هذا الدرس.

docker stop g4a-nmap-lab
# لإعادة تشغيل الحاوية الموجودة:
docker start g4a-nmap-lab

احتفظ بملاحظاتك عن مكان الفاحص والمنفذ ونتيجة المتصفح. في الدرس التالي ستستخدم هذه البيانات لتفسير أول فحص محدود. هدف المختبر هو وضوح العلاقة بين الخدمة والاتصال، وليس جمع أكبر عدد من الأجهزة.

أسئلة شائعة

هل Docker ضروري لتعلم Nmap؟

لا. يمكنك استخدام خدمة محلية أو آلة افتراضية تملكها. اخترنا Docker لأنه يتيح إنشاء خدمة معروفة ثم إيقافها دون بناء خادم كامل.

هل الربط على 127.0.0.1 يعزل الجهاز كله؟

لا. هو يحدد عنوان نشر هذا المنفذ فقط. لا يوقف خدمات المضيف الأخرى ولا يبدل جدار الحماية أو إعدادات بقية الحاويات.

هل يمكن استخدام المنفذ 8081؟

نعم إذا كان متاحًا. غيّر منفذ المضيف في أمر الإنشاء، واستخدم الرقم نفسه في المتصفح وفي الفحص لاحقًا.

ماذا أفعل إذا كان الاسم مستخدمًا؟

افحص الحاويات الموجودة بالاسم، فقد تكون أنشأت حاوية التدريب سابقًا. شغّل الموجودة إن كانت الصحيحة بدل تكرار أمر الإنشاء.

المصادر والمراجعة

استُلهم تسلسل الموضوع من مذكرة Network Scanning for Beginners المنشورة باسم CodeMalar، من الصفحات المتاحة التي قدمها القارئ. الشرح العربي والأمثلة إعداد مستقل من Geek4Arab، مع مراجعة الوثائق الرسمية في 26 أكتوبر 2026. لم نستخدم نص الصفحات غير المتاحة ولم ننفذ أمثلة الفحص أثناء إعداد المقال.

مصدر الصورة: Docker — الوثائق الرسمية.

geekadmin

مقالات ومعرفة تقنية باللغة العربية.

اترك تعليقاً

قد يهمّك أيضًا