ديف أوبس

دليل استخدام أمر ss في لينكس

مدخل إلى الأمر ss في لينكس: أداة تحليل الشبكة المتقدمة

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

تعريف الأمر ss

الأمر ss هو اختصار لـ Socket Statictics، ويُستخدم بشكل أساسي في أنظمة لينكس لاستعراض حالات المقابس (sockets) في الشبكة. يُعتبر ss بديلاً محسنًا للأمر القديم netstat، حيث يوفر أداءً أسرع وميزات أكثر تقدمًا عند التعامل مع مقابس الشبكة. يعرض ss تفاصيل حول كافة أنواع الاتصالات الشبكية، بما في ذلك TCP وUDP وUNIX Sockets، مع تقديم معلومات دقيقة عن حالة كل اتصال على الجهاز.

من المهم أن نفهم أن مقبس الشبكة (socket) هو نقطة نهاية للتواصل بين جهازين عبر شبكة. قد يكون هذا الاتصال من نوع TCP أو UDP، ويستخدم لنقل البيانات بين التطبيقات والخوادم في بيئات متعددة.

كيفية استخدام الأمر ss

يتم تنفيذ الأمر ss عبر سطر الأوامر في أنظمة لينكس، ويحتوي على مجموعة من الخيارات التي تسمح للمستخدمين بتحديد نوع البيانات المعروضة. سنستعرض أبرز الخيارات والأوامر المرتبطة بـ ss:

1. عرض جميع الاتصالات

أبسط شكل لاستخدام الأمر ss هو تشغيله بدون أي خيارات إضافية، مما يعرض قائمة بجميع المقابس المفتوحة على الجهاز:

bash
ss

سيعرض هذا الأمر قائمة بجميع الاتصالات النشطة على جهازك، سواء كانت TCP أو UDP.

2. عرض اتصالات TCP فقط

إذا كنت ترغب في فحص اتصالات TCP فقط، يمكنك إضافة الخيار -t:

bash
ss -t

هذا الأمر يعرض فقط المقابس التي تستخدم بروتوكول TCP.

3. عرض اتصالات UDP فقط

على غرار الخيار السابق، يمكنك استخدام -u لعرض اتصالات UDP فقط:

bash
ss -u

سيتم عرض كافة المقابس التي تستخدم بروتوكول UDP.

4. عرض جميع المقابس بما في ذلك تلك المغلقة

إذا أردت عرض كافة المقابس بما في ذلك تلك التي تم إغلاقها (استعمال مقبس مغلق يتطلب معرفة حالته)، يمكن استخدام الخيار -a:

bash
ss -a

سيعرض هذا جميع المقابس المفتوحة والمغلقة.

5. عرض مقابس الاستماع فقط

لعرض المقابس التي في حالة انتظار اتصال، استخدم الخيار -l:

bash
ss -l

تظهر هذه المقابس عادة في حالاتها التي تستقبل طلبات الاتصال، مثل المقابس على الخوادم التي تنتظر طلبات من العملاء.

6. عرض تفاصيل عن كل اتصال

إذا كنت بحاجة إلى تفاصيل إضافية حول كل اتصال، يمكنك استخدام الخيار -i لعرض معلومات إضافية مثل حجم البيانات والمقاييس الأخرى:

bash
ss -i

سوف يقدم لك هذا الأمر معلومات تفصيلية تشمل عدد البايتات المرسلة والمستلمة، والوقت الذي مر على الاتصال، وما إلى ذلك.

7. تصفية الاتصالات حسب الحالة

يمكنك تصفية النتائج بناءً على حالة الاتصال باستخدام الخيار state، حيث يمكن تحديد الحالة المطلوبة مثل established للاتصالات المفتوحة أو time-wait للاتصالات التي في فترة الانتظار:

bash
ss state established

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

8. عرض تفاصيل مقابس معينة (باستخدام المنفذ أو العنوان)

يمكنك تصفية النتائج باستخدام المنفذ أو العنوان المخصص للمقابس، كما في المثال التالي:

bash
ss -tuln
  • -t: عرض المقابس التي تستخدم TCP.

  • -u: عرض المقابس التي تستخدم UDP.

  • -l: عرض المقابس التي في حالة انتظار.

  • -n: عرض العناوين والمنفذات بشكل رقمي بدلاً من اسم المضيف.

9. فحص مقابس UNIX

يمكنك أيضًا استخدام ss لفحص مقابس UNIX المحلية، باستخدام الخيار -x:

bash
ss -x

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

مقارنة بين ss و netstat

على الرغم من أن netstat كان الخيار القياسي لفحص الشبكة في أنظمة لينكس لفترة طويلة، فإن ss يقدم مزايا عدة تجعله الأداة المفضلة للعديد من المستخدمين:

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

  2. دقة المعلومات: يوفر ss معلومات أكثر دقة وتفصيلًا حول كل مقبس، مثل حالة الاتصال ووقت الحياة وطريقة النقل. كما أنه يوفر فلاتر أكثر قوة لتحديد أنواع معينة من المقابس.

  3. المرونة: يمتلك ss خيارات تصفية متقدمة، مما يتيح للمستخدمين عرض مقاطع محددة بناءً على البروتوكول، الحالة، أو المنفذ. كما يمكن استخدامه بشكل أساسي لمراقبة البروتوكولات الأكثر شيوعًا مثل TCP وUDP، بالإضافة إلى البروتوكولات الخاصة بـ UNIX.

أهمية الأمر ss في إدارة الشبكات

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

تطبيقات عملية للأمر ss

  1. مراقبة الأداء: يساعد ss في مراقبة الاتصالات بشكل مستمر، مما يتيح للمسؤولين تحديد أي اختناقات في الشبكة أو حدوث تأخير في الاتصال.

  2. تحليل الأنشطة الخبيثة: يمكن للمستخدمين تحديد الأنشطة المشبوهة على الشبكة باستخدام ss، مثل تحديد منافذ غير مصرح بها أو اكتشاف محاولات الاتصال غير المعتمدة.

  3. التفاعل مع الجدران النارية: يمكن استخدام ss لتحديد ما إذا كانت الجدران النارية أو السياسات الأمنية تمنع الاتصالات الشبكية المشروعة أو إذا كانت هناك أي قيود على المنافذ المفتوحة.

استنتاج

يعد الأمر ss في لينكس أداة قوية لمراقبة وتحليل الشبكات. يمكن للمستخدمين والمطورين الاستفادة من ميزاته المتعددة في إدارة الشبكة، تحسين الأداء، وتحديد المشكلات. بالمقارنة مع الأدوات القديمة مثل netstat، يوفر ss أداءً أسرع وميزات أكثر تقدمًا، مما يجعله الخيار الأمثل لفحص الشبكة في بيئات لينكس الحديثة.