Hostwinds مدونة

نتائج البحث عن:


5 طرق للتحقق من المنافذ المفتوحة على Linux صورة مميزة

5 طرق للتحقق من المنافذ المفتوحة على Linux

بواسطة: Hostwinds Team  /  كانون الثاني 14, 2025


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

في هذا الدليل ، سوف نسير عبر طرق متعددة للتحقق من المنافذ في Linux باستخدام أوامر بسيطة.في النهاية ، ستشعر بمزيد من الراحة في العمل مع المنافذ ومعرفة ما يحدث على نظامك.

ما هي الموانئ؟

قبل القفز إلى الأوامر ، دعنا نتوقف لحظة لفهم المنافذ:

  • المنافذ هي أرقام تحدد برامج أو تطبيقات محددة تعمل على جهاز الكمبيوتر الخاص بك.على سبيل المثال:
    • منافذ خادم الويب عادة ما تستخدم الميناء 80 (http) أو الميناء 443 (HTTPS).
    • تسجيل الدخول عن بُعد من خلال SSH عادةً ما يستخدم الميناء 22.
  • كل منفذ لديه رقم بين 0 و 65535التي تقع إلى ثلاث مجموعات رئيسية:
    • 0–1023: مخصصة للبروتوكولات المشتركة مثل HTTP و FTP.
    • 1024–49151: للتطبيقات التي تقوم بتثبيتها.
    • 49152–65535: المنافذ المؤقتة المستخدمة عندما تتصل التطبيقات بالخدمة.

مع ذلك ، دعنا نستكشف كيفية التحقق من ما يحدث مع منافذك.

كيفية التحقق من المنافذ في Linux

يحتوي Linux على عدد من الأدوات لمساعدتك في التحقق من منافذ فتح أو الاستماع.أدناه ، سوف نسير عبر خمس طرق شائعة ونشرح ما يفعله كل واحد.

1. باستخدام NetStat

يمنحك أمر NetStat طريقة عرض مفصلة لاتصالات الشبكة واستخدام المنفذ.

افتح محطة ونوع:

netstat -tuln

إليك ما يعنيه كل خيار:

  • -t: إظهار منافذ TCP (بروتوكول التحكم في الإرسال).
  • -u: إظهار منافذ UDP (بروتوكول بيانات المستخدم).
  • -L: إظهار المنافذ فقط التي تستمع بنشاط.
  • -n: تخطي أسماء برامج ترجمة (على سبيل المثال ، "SSH") في أرقام المنافذ ، مما يجعلها أسرع.

ما ستراه:

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
udp        0      0 0.0.0.0:68              0.0.0.0:*

إليك كيفية قراءة هذا:

  • بروتو: يوضح ما إذا كان TCP أو UDP.
  • العنوان المحلي: IP الخاص بجهازك والمنفذ المستخدم.
  • العنوان الأجنبي: IP ومنفذ الجهاز الآخر (أو* إذا كان مفتوحًا للجميع).
  • ولاية: بالنسبة إلى TCP ، يعني الاستماع أنها تنتظر الاتصالات.

ملاحظة سريعة: NetStat جزء من حزمة الأدوات الصافية ، والتي قد لا يتم تثبيتها مسبقًا على إصدارات Linux الأحدث.تثبيته باستخدام:

sudo apt install net-tools  # On Debian/Ubuntu  
sudo yum install net-tools  # On RHEL/CentOS 

2. باستخدام SS

ss هو بديل أحدث وأسرع لـ NetStat.إنه يعطي معلومات مماثلة ولكنه يعمل بشكل أفضل على الأنظمة الحديثة.

قم بتشغيل الأمر التالي:

ss -tuln

الخيارات هي نفسها NetStat ، لذلك يجب أن تكون قادرًا على القفز مباشرة.

ما ستراه:

Netid   State      Recv-Q Send-Q Local Address:Port           Peer Address:Port
tcp     LISTEN     0      128    0.0.0.0:22                  0.0.0.0:*         
udp     UNCONN     0      0      0.0.0.0:68                  0.0.0.0:*

يشبه هذا الإخراج NetStat ، ولكن ss يميل إلى أن تكون أسرع ، خاصة إذا كنت تتعامل مع الكثير من الاتصالات.

3. باستخدام LSOF

lsof (قائمة الملفات المفتوحة) هي أداة مفيدة لمعرفة الملفات أو اتصالات الشبكة التي يتم استخدامها بواسطة العمليات.

لمعرفة المنافذ المفتوحة وما الذي يستخدمها ، قم بتشغيله:

sudo lsof -i -P -n
  • -أنا: مرشحات للملفات المتعلقة بالشبكة.
  • -P: يعرض أرقام المنافذ الخام بدلاً من أسماء الخدمة.
  • -n: تتخطى ترجمة عناوين IP إلى أسماء المضيف للسرعة.

ما ستراه:

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd      1234 root   3u  IPv4  12345      0t0  TCP *:22 (LISTEN)
dhclient  5678 root   6u  IPv4  54321      0t0  UDP *:68
  • يأمر: البرنامج باستخدام المنفذ.
  • بيد: معرف العملية.
  • اسم: المنفذ والبروتوكول (على سبيل المثال ، TCP على المنفذ 22).

لماذا هو مفيد:

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

4. باستخدام NMAP

NMAP (Network Mapper) مثالي لمسح الشبكات والتحقق من المنافذ المفتوحة.

لمسح جميع المنافذ ، قم بتشغيل:

sudo nmap -sT -p- localhost
  • -شارع: يقوم بإجراء فحص TCP Connect.
  • -P-: مسح جميع المنافذ 65،535.

ما ستراه:

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
  • ميناء: رقم المنفذ والبروتوكول (TCP أو UDP).
  • ولاية: يخبرك إذا كان المنفذ مفتوحًا أو مغلقًا أو ترشيحًا (تم حظره بواسطة جدار حماية).
  • الخدمات: الاسم الشائع للخدمة باستخدام المنفذ.

لماذا NMAP مفيد:

NMAP أمر رائع إذا كنت تريد عرضًا كاملاً لجميع المنافذ المفتوحة على نظامك أو تحتاج إلى مسح جهاز آخر.

5. باستخدام NC (Netcat)

Netcat هي أداة بسيطة ولكنها قوية للتحقق مما إذا كان منفذ معين مفتوحًا.

للتحقق مما إذا كان المنفذ 22 مفتوحًا ، اكتب:

nc -zv localhost 22
  • -z: فقط مسح للمنافذ المفتوحة دون إرسال البيانات.
  • -v: إظهار الإخراج التفصيلي.

ما ستراه:

Connection to localhost 22 port [tcp/ssh] succeeded!

لماذا هو مفيد:

إذا كنت بحاجة فقط إلى التحقق بسرعة مما إذا كان منفذ معين مفتوحًا ، NC هل الوظيفة دون الكثير من الضجة.

فهم النتائج

عندما تقوم بفحص المنافذ ، إليك ما تعنيه النتائج عادة:

  • المنافذ الاستماع/المفتوحة: هذه المنافذ جاهزة لقبول الاتصالات.على سبيل المثال ، سيستمع خادم الويب على المنفذ 80 أو 443.
  • الموانئ المغلقة: هذه المنافذ ليست قيد الاستخدام ، لذلك لن تقبل الاتصالات.
  • المنافذ المصفاة: يتم حظر هذه المنافذ بواسطة جدار حماية أو قاعدة أمنية ، بحيث تبدو غير مرئية.

السيناريوهات المشتركة

عند التحقق من المنافذ ، قد تصادف السيناريوهات التالية:

  • ترى منفذًا مفتوحًا لم تتوقعه: قد يعني هذا أن البرنامج قيد التشغيل لا تحتاجه أو التعرف عليه.إنها لفكرة جيدة للتحقيق أكثر.
  • تم إغلاق منفذ تحتاجه: قد لا يكون البرنامج قيد التشغيل ، أو قد يحجبه جدار الحماية.

تأمين نظامك

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

توقف عن البرامج غير الضرورية:
إذا كان البرنامج يعمل على منفذ لا تحتاجه ، فقم بإيقاف تشغيله:

sudo systemctl stop <service_name>
sudo systemctl disable <service_name>

استخدم جدار الحماية:
الحد من الوصول إلى المنافذ باستخدام أداة مثل UFW (جدار حماية غير معقد):

sudo ufw allow 22     # Allow SSH  
sudo ufw deny 80      # Block HTTP

مراقبة المنافذ بانتظام:
اجعل من المعتاد التحقق من المنافذ المفتوحة بين الحين والآخر ، خاصة إذا كنت تقوم بتشغيل خادم.

تغليف

لا يجب أن يكون فحص المنافذ في Linux معقدًا.سواء كنت تستخدم NetStat أو SS أو LSOF أو NMAP أو NC ، تمنحك كل أداة عرضًا مختلفًا قليلاً لما يحدث.اختر الشخص الذي يعمل بشكل أفضل لاحتياجاتك ولا تخف من استكشافه.كلما تمارس المزيد ، كلما أصبح الأمر أسهل!

كتب بواسطة Hostwinds Team  /  كانون الثاني 14, 2025