فرمان SS چیست؟ تعریف و کاربردهای فرمان ss

رضا فرخندگان ۲۴ آذر ۱۳۹۷ ۰ دیدگاه

در این مقاله با فرمان SS آشنا خواهیم شد. سیستم‌عامل لینوکس حاوی تعداد زیادی از ابزار است که باعث می‌شود تقریباً هر نیازی را برطرف کند. این ابزار جهت توسعه، امنیت، بهره‌وری، مدیریت و … مورداستفاده قرار می‌گیرند. یکی از پرکاربردترین ابزارهای لینوکس netstat است. اگرچه، فرمان netstat در مواردی همچون سرعت و در دسترس بودن، موردانتقاد قرار گرفته است.

فرمان SS چیست؟ تعریف و کاربردهای فرمان ss

فرمان SS چیست؟

فرمان SS ابزاری است که برای تخلیه آمار سوکت و نمایش اطلاعات مورداستفاده قرار می‌گیرد. این فرمان مشابه با netstat بوده ولی ساده‌تر و سریع‌تر عمل می‌کند. دستور SS می‌تواند TCP و اطلاعات بیشتری را نسبت به بسیاری از دیگر ابزارها نمایش دهد. دستور SS در حقیقت ورژن جدید دستور netstat است. به همین دلیل ما درباره‌ی نحوه‌ی استفاده از این ابزار صحبت خواهیم کرد تا بتوانید راحت‌تر اطلاعات ماشین لینوکس خود را به دست بیاورید و از ارتباطات شبکه‌ی خود باخبر شوید.

کامند ss چیست؟

کامند SS می‌تواند سوکت‌های دامنه‌ی PACKET، TCP، UDP، DCCP، RAW و Unix را نمایش دهد. به‌وسیله‌ی کامند ss جزئیات بیشتری از نحوه‌ی ارتباط بین ماشین لینوکس خود با دیگر ماشین‌ها، شبکه‌ها و سرویس‌ها و همچنین جزئیات بیشتری از ارتباطات شبکه، آمار پروتکل‌های شبکه‌ای و ارتباطات سوکت لینوکس به دست خواهید آورد. با در اختیار داشتن این اطلاعات می‌توانید به‌راحتی مسائل مربوط به شبکه‌های مختلف را حل کنید.

کاربردهای فرمان SS

کاربرد اولیه

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

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

کاربردهای فرمان ss

چنانچه دستور ss را بدون هیچ استدلال یا گزینه‌ای صادر کنید، لیست کامل سوکت‌های TCP با اتصالات ثابت ایجاد خواهد شد:

به دلیل این‌که کامند ss (بدون گزینه) مقادیر زیادی از اطلاعات را نمایش می‌دهد، می‌توانید خروجی فرمان را به یک فایل جهت مشاهدات بعدی بفرستید:

ss > ss_output

البته این فرمان اولیه برای هر موقعیتی مورداستفاده قرار نمی‌گیرد. جهت مشاهده سوکت‌های فعلی کافی است تا دستور زیر را وارد کنید:

ss -l

خروجی دستور بالا فقط لیستی از سوکت‌های فعلی است.

کامند ss از گزینه t- برای مشاهده ارتباطات TCP، از گزینه u- برای UDP و از x- برای UNIX استفاده می‌کند. با صدور هر یک از این فرمان‌ها، مقدار زیادی از اطلاعات را به دست خواهید آورد که می‌توانید از آن‌ها استفاده کنید.

کاربردهای فرمان ss

استفاده از گزینه‌های u- و t- و x- به‌تنهایی، فقط لیست ارتباطاتی را که متصل هستند را نمایش خواهد داد. پس چنانچه می‌خواهید ارتباطاتی که برقرار هستند (گوش می‌دهند) را مشاهده کنید، پس از گزینه‌های بالا باید گزینه‌ی a- را نیز اضافه کنید:

ss -t -a

خروجی فرمان بالا شامل تمام سوکت‌های TCP خواهد بود:

فرمان SS چیست؟ کاربردهای فرمان ss

در مثال بالا می‌توانید مشاهده کنید که ارتباطات UDP در آدرس IP ماشین به آدرس‌های IP مختلف و از طریق پورت‌های مختلف در حال ساخته شدن هستند.

برخلاف فرمان netstat، فرمان ss نام دستور و PID مربوط به این ارتباطات را نمایش نمی‌دهد. بنابراین همچنان اطلاعات بسیار زیادی را جهت شروع عیب‌یابی در اختیار خواهید داشت. پس می‌توانید بفهمید که کدام آدرس IP / پورت ارتباط را برقرار می‌کند؟ این‌گونه شما اطلاعاتی را در اختیار خواهید داشت که می‌تواند در ابتدایی‌ترین مراحل عیب‌یابی به شما کمک کند.

فیلتر کردن ss با استفاده از TCP

یکی از گزینه‌های در دسترس برای کامند ss توانایی فیلتر کردن آن با استفاده از TCP است. با استیت «states» شما به‌راحتی می‌توانید نتایج دستور ss را فیلتر کنید. ابزار ss می‌تواند با تمام استیت‌های استاندارد TCP مرتبط شود:

 

  • established
  • syn-sent
  • syn-recv
  • fin-wait-1
  • fin-wait-2
  • time-wait
  • closed
  • close-wait
  • last-ack
  • listening
  • closing

سایر استیت‌های موجود عبارت‌اند از:

 

  • all
  • connected 
  • synchronized 
  • bucket 
  • syn-recv)
  • big 

سینتکس کار با استیت‌ها بسیار ساده است:

For tcp ipv4:

ss -4 state FILTER

For tcp ipv6:

ss -6 state FILTER

کلمه FILTER نام استیتی است که می‌خواهید استفاده کنید.

جهت مشاهده تمام سوکت‌های IPv6 فعال در ماشین خود کافی است فرمان زیر را وارد کنید:

ss -4 state listening

نتایج این دستور در شکل زیر نشان داده‌ شده است:

فرمان ss چیست؟ تعریف و کاربردهای فرمان ss

نمایش سوکت‌های متصل از یک آدرس خاص

کار دیگری که با ss می‌توانید انجام دهید این است که به شما از ارتباطات آدرس IP دیگر به شما گزارش دهد. فرض کنید می‌خواهید ببینید که آیا یک ماشین در آدرس ۱۹۲.۱۶۸.۱.۱۳۹ به شما متصل است یا خیر؟ بدین منظور کافی است تا دستور زیر را وارد کنید:

ss dst 192.168.1.139

نتیجه‌ی این دستور به شما استیت، پورت IP محلی، و پورت IP کنترل از راه دور سوکت را خواهد داد:

کاربردهای کامند ss

نتیجه‌گیری

فرمان ss در عیب‌یابی سرور لینوکس به شما کمک‌های بسیار زیادی می‌کند. این امر باعث خواهد شد شما که زمان خود را صرف مطالعه در صفحه اصلی ss کنید. این فرمان بسیار سریع‌تر و ساده‌تر از netstat عمل می‌کند ولی برای کار با آن باید مفاهیم اولیه وارد کردن دستورات را یاد بگیرید.

به اشتراک گذاری مقاله در شبکه‌های اجتماعی

فناوران شبکه سینداد (آهنگ نوآوری)

سینداد یعنی هدیه‌ی سیمرغ، یا فرزند سیمرغ؛ به عبارتی یعنی خود سیمرغ، با همه ی شگفتی هایش، اما جوانتر و سرزنده تر. و این چیزی است که ما سعی می کنیم در سینداد باشیم. از سال ۱۳۸۵ دانش مان را به صورت خدماتی در حوزه ی هاستینگ، شبکه و تولید نرم افزار در اختیار مشتریان مان قرار داده ایم و به این افتخار می کنیم که تک تک آنها تا به امروز همراه ما مانده اند. باور داریم که سینداد صرفاً یک شرکت نیست، بلکه نوعی باور است به ارائه ی شگفت انگیز از هر چیز.