۰
(۰)

دستور ss یکی از ابزارهای قدرتمند در سیستم‌عامل لینوکس برای نمایش اطلاعات مربوط به سوکت‌های شبکه (Sockets) است. این ابزار جایگزین مدرن و سریع‌تر برای دستور قدیمی‌تر **netstat** محسوب می‌شود. با استفاده از ss، می‌توان جزئیات کاملی از اتصالات شبکه، پورت‌های باز، وضعیت سوکت‌ها و بسیاری اطلاعات دیگر را به‌سرعت و با دقت بالا مشاهده کرد.

در این مقاله، به بررسی کامل دستور ss، نحوه استفاده از آن، و گزینه‌های پیشرفته‌ای که ارائه می‌دهد خواهیم پرداخت.

معرفی دستور ss

دستور **ss** مخفف **Socket Statistics** است و در لینوکس برای نمایش اطلاعات زیر استفاده می‌شود:
– اتصالات شبکه (TCP، UDP، UNIX)
– وضعیت پورت‌ها
– سوکت‌های باز
– جزئیات مربوط به تأخیر یا ترافیک

این ابزار در مقایسه با netstat، عملکرد سریع‌تری دارد و اطلاعات بیشتری ارائه می‌دهد.

نصب دستور ss

در اکثر توزیع‌های لینوکس، ابزار ss به‌صورت پیش‌فرض نصب است. اگر این ابزار روی سیستم شما نصب نیست، می‌توانید با نصب بسته **iproute2** به آن دسترسی پیدا کنید:

sudo apt update && sudo apt install iproute2 # برای توزیع‌های مبتنی بر Debian
sudo yum install iproute2 # برای توزیع‌های مبتنی بر Red Hat

 

استفاده اولیه از دستور ss

برای مشاهده تمام اتصالات فعال در سیستم، می‌توانید از دستور زیر استفاده کنید:

ss

این دستور اطلاعاتی از قبیل نوع پروتکل، آدرس مبدأ، آدرس مقصد، و وضعیت اتصال را نمایش می‌دهد.

گزینه‌های پرکاربرد در ss

۱. نمایش تمام اتصالات فعال
برای نمایش تمام اتصالات (TCP، UDP، و غیره):

ss -a

۲. مشاهده اتصالات TCP
اتصالات TCP پرکاربردترین نوع اتصالات هستند:

ss -t

۳. مشاهده اتصالات UDP
برای مشاهده جزئیات مربوط به اتصالات UDP:

ss -u

۴. فیلتر کردن پورت‌ها
اگر بخواهید فقط اتصالات یک پورت خاص را مشاهده کنید، می‌توانید از گزینه **dport** استفاده کنید. به‌عنوان مثال، برای مشاهده اتصالات پورت ۸۰ (HTTP):

ss -t state established '( dport = :80 )'

۵. مشاهده پورت‌های باز
برای مشاهده تمام پورت‌هایی که سیستم به آنها گوش می‌دهد:

ss -l

۶. نمایش آمار مختصر
اگر فقط به خلاصه‌ای از وضعیت سوکت‌ها نیاز دارید:

ss -s

تحلیل خروجی‌های ss

خروجی دستور ss شامل ستون‌های مختلفی است:
– **Netid**: نوع پروتکل (TCP، UDP، RAW، و غیره)
– **State**: وضعیت اتصال (LISTEN، ESTABLISHED، CLOSED و غیره)
– **Recv-Q**: تعداد بایت‌های منتظر دریافت
– **Send-Q**: تعداد بایت‌های منتظر ارسال
– **Local Address**: آدرس و پورت محلی
– **Peer Address**: آدرس و پورت مقصد

استفاده پیشرفته از ss

۱. نمایش جزئیات بیشتر با pid
برای مشاهده PID (شناسه پردازش) و نام برنامه‌ای که از سوکت استفاده می‌کند:

ss -p

۲. فیلتر کردن با استفاده از وضعیت اتصال
برای مشاهده اتصالات با وضعیت خاص (مثلاً ESTABLISHED):

ss -t state established

۳. نمایش جزئیات RAW و Unix Sockets
برای مشاهده سوکت‌های Raw و Unix:

ss -w
ss -x

 

۴. مانیتورینگ زنده اتصالات
برای مشاهده تغییرات اتصالات در لحظه:

watch ss -t

مزایای استفاده از ss نسبت به netstat

– **سرعت بیشتر**: به دلیل استفاده از /proc و عدم وابستگی به کِرنل، خروجی ss سریع‌تر تولید می‌شود.
– **اطلاعات کامل‌تر**: ss اطلاعات دقیق‌تر و به‌روزتری در مقایسه با netstat ارائه می‌دهد.
– **پشتیبانی از پروتکل‌های بیشتر**: ss قابلیت نمایش جزئیات بیشتری از پروتکل‌های مختلف دارد.

نمونه سناریو: تحلیل مشکلات شبکه با ss

فرض کنید در یک سرور با کندی در اتصال HTTP مواجه هستید. برای تحلیل این مشکل:
۱. بررسی اتصالات پورت ۸۰:

ss -t state established '( dport = :80 )'

۲. مشاهده تعداد پورت‌های LISTEN برای HTTP:

ss -l '( sport = :80 )'

۳. بررسی برنامه مرتبط با این پورت:

ss -pl '( sport = :80 )'

جمع‌بندی

دستور ss یکی از ابزارهای حیاتی برای مدیران سیستم و کاربران لینوکس است که نیاز به تحلیل اتصالات شبکه دارند. این ابزار با گزینه‌های متنوع و قابلیت‌های پیشرفته، جایگزین بسیار مناسبی برای netstat به شمار می‌آید.

با تمرین و استفاده از گزینه‌های مختلف ss، می‌توانید به یک کاربر حرفه‌ای در مدیریت اتصالات شبکه تبدیل شوید.

چقدر این مطلب مفید بود؟

روی یک ستاره کلیک کنید تا به آن امتیاز دهید!

میانگین امتیاز ۰ / ۵. تعداد آرا: ۰

تا الان رای نیامده! اولین نفری باشید که به این پست امتیاز می دهید.