كيفية إدراج Open Ports على Linux؟

How List Open Ports Linux



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

هذا هو التشبيه المفضل لدي لوصف ما هو الميناء. تخيل أن سفينة محملة بالبضائع ستسافر إلى أرض بعيدة. ما هي المعلومات اللازمة للوصول إلى الوجهة بشكل صحيح؟ من أجل البساطة ، لنفترض أنها تحتاج إلى البلد (عنوان IP) و ميناء السفينة سوف ترسو.







في هذا الدليل ، تحقق من كيفية سرد المنافذ المفتوحة على Linux.



الموانئ على لينكس

تعمل المنافذ كنقطة نهاية للاتصال. إنه رقم 16 بت (من 0 إلى 65535 في النظام العشري). في حين أن النطاق كبير ، لسهولة الاستخدام ، يتم تصنيف المنافذ إلى ثلاث فئات. يتم تصنيف كل فئة على أنها نطاق قيمة المنفذ:



  • 0 إلى 1023: هذه هي المنافذ المعروفة ، والمعروفة أيضًا باسم منافذ النظام ، وهي مخصصة لعمليات النظام التي تقدم مجموعة متنوعة من خدمات الشبكة. للربط بمنفذ معروف جيدًا ، يجب أن تتمتع العملية بامتياز المستخدم المتميز.
  • 1024 إلى 49151: هذه هي المنافذ المسجلة ، والمعروفة أيضًا باسم منافذ المستخدم ، والتي تم تخصيصها من قبل IANA لخدمات محددة. بناءً على الطلب ، قد تتمكن العملية من الوصول إليهم. في حالة معظم الأنظمة ، لا يتطلب الأمر أي امتياز للمستخدم المتميز لاستخدام هذه المنافذ.
  • 49152 إلى 65535: هذه هي المنافذ الديناميكية ، والمعروفة أيضًا باسم المنافذ الخاصة. لا يمكن تسجيل هذه المنافذ مع IANA. هذه المنافذ مفتوحة للاستخدام للخدمات الخاصة أو المخصصة ويمكن أيضًا تخصيصها تلقائيًا كمنافذ مؤقتة (منافذ قصيرة العمر يستخدمها IP).

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





سرد المنافذ المفتوحة

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

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



الطرق التالية موضحة على Ubuntu 20.04.1 LTS.

سرد البروتوكولات والمنافذ المفتوحة من / etc / services

يحتوي الملف / etc / services على معلومات حول الخدمات قيد التشغيل حاليًا. إنه ملف كبير ، لذا فهو جاهز للارتباك.

$قط /إلخ/خدمات| أقل

قائمة المنافذ المفتوحة باستخدام netstat

أداة netstat هي أداة مساعدة لعرض اتصالات الشبكة لـ TCP وجداول التوجيه وواجهات الشبكة المختلفة. كما يقدم إحصائيات بروتوكول الشبكة. باستخدام netstat ، يمكننا سرد جميع المنافذ المفتوحة للنظام.

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

$netstat -اتو

دعونا نحصل على تحليل سريع لجميع العلامات التي استخدمناها في هذا الأمر.

  • إلى : يخبر netstat لإظهار جميع المقابس
  • ر : يخبر netstat لسرد منافذ TCP
  • ش : يخبر netstat بإدراج منافذ UDP

فيما يلي شكل آخر لأمر netstat:

$netstat -لنتو

هناك نوعان من الأعلام الجديدة المستخدمة في الأمر. ماذا يقصدون؟

  • ال : يخبر netstat بطباعة مآخذ الاستماع فقط
  • ن : يخبر netstat لإظهار رقم المنفذ

لعرض PID للعملية التي تستخدم منفذًا ، استخدم العلامة -p:

$netstat -Intup

قائمة المنافذ المفتوحة باستخدام ss

أداة ss هي أداة مساعدة لفحص المقبس. استخدامه مشابه لـ netstat.

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

$ss-لنتو

الأعلام تشبه netstat. الوظائف التي يصفونها هي أيضًا متشابهة تمامًا.

  • ال : يخبر ss لعرض مآخذ الاستماع
  • ن : يخبر SS بعدم محاولة حل أسماء الخدمة
  • ر : يخبر ss لعرض مآخذ TCP
  • ش : يحكي ss لعرض مآخذ UDP

قائمة المنافذ المفتوحة باستخدام lsof

الأمر lsof هو سرد الملفات المفتوحة. ومع ذلك ، يمكن استخدامه أيضًا لعرض المنافذ المفتوحة.

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

$lsof-أنا

للحصول على المنافذ المفتوحة لبروتوكول معين (TCP ، UDP ، إلخ) ثم حدده بعد علامة -i ، استخدم:

$lsof-أنا <بروتوكول>

قائمة المنافذ المفتوحة باستخدام nmap

تعد أداة nmap أداة قوية لاستكشاف الشبكة وفحص الأمان / المنفذ. يمكنه الإبلاغ عن جميع المنافذ المفتوحة في النظام.

لسرد منافذ TCP المفتوحة ، قم بتشغيل الأمر nmap التالي. هنا ، عنوان IP خاص بالكمبيوتر المضيف:

$سودو nmap -شارع -p-مضيف محلي

هنا ، هناك جزأين من حجة الأمر.

  • -شارع : هذا القسم يخبر nmap بالبحث عن منافذ TCP.
  • -p- : هذا يخبر nmap بالمسح لجميع منافذ 65535. إذا لم يتم استخدامه ، فسيقوم nmap بفحص 1000 منفذ فقط افتراضيًا.

إذا كنت بحاجة إلى سرد منافذ UDP المفتوحة ، فقم بتشغيل الأمر nmap التالي:

$سودو nmap -إنه -p-مضيف محلي

للحصول على منفذي TCP و UDP المفتوحين ، استخدم الأمر التالي:

$سودو nmap -PN -شارع -إنه -p-مضيف محلي

قائمة المنافذ المفتوحة باستخدام netcat

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

سيقوم الأمر netcat التالي بفحص المنفذ من 1 إلى 1000. سيقوم الأمر netcat بإجراء الفحص على بروتوكول TCP افتراضيًا:

$nc-مع -الخامسمضيف محلي1-1000

يمكن أيضًا توسيعه ليشمل القائمة الكاملة للمنافذ الممكنة:

$nc-مع -الخامسمضيف محلي1-65535

دعونا نلقي نظرة سريعة على الأعلام.

  • مع : يخبر netcat بالبحث فقط عن المنافذ المفتوحة دون إرسال أي بيانات
  • الخامس : يخبر netcat للتشغيل في الوضع المطول

للحصول على المنافذ المفتوحة فقط من هذه القائمة ، قم بتصفية الإخراج باستخدام grep للمصطلح الذي تم بنجاح.

$nc-مع -الخامسمضيف محلي0-65535 2> &1 | سيطرةنجح

إذا كنت تريد إجراء الفحص على بروتوكول UDP ، فقم بإضافة العلامة -u.

$nc-مع -الخامس -uمضيف محلي0-65535 2> &1 | سيطرةنجح

افكار اخيرة

كما هو موضح ، هناك الكثير من الطرق للبحث عن المنافذ المفتوحة على Linux. أقترح تجربة جميع الطرق قبل أن تقرر أي منها تتقن. إذا كنت تستخدم أداة معينة مثل netcat أو nmap بانتظام ، فسيكون إتقان الطرق المرتبطة أكثر فائدة.

حوسبة سعيدة!