۱۰ مثال کاربردی دستور ss

رضا جمالی ۲۷ فروردین ۱۳۹۷ ۰ دیدگاه

دستور ss جایگزین جدیدی برای دستور netsate است. از آنجایی که دستور ss از تکنولوژی سوکت استفاده می‌کند، اطلاعات را مستقیم از کرنل گرفته و هم به لحاظ سرعت و هم عملکرد از دستورات قبلی قوی‌تر است. در این مقاله سعی داریم ۱۰ نمونه از کاربردهای این دستور را با هم بررسی کنیم.

۱- لیست تمام کانکشن‌ها:

ss | less

Netid  State      Recv-Q Send-Q   Local Address:Port       Peer Address:Port

u_str  ESTAB      ۰      ۰                    * ۱۵۵۴۵                 * ۱۵۵۴۴

u_str  ESTAB      ۰      ۰                    * ۱۲۲۴۰                 * ۱۲۲۴۱

u_str  ESTAB      ۰      ۰                    * ۱۲۷۲۶                 * ۱۲۱۵۹

u_str  ESTAB      ۰      ۰                    * ۱۱۸۰۸                 * ۱۱۲۵۶

u_str  ESTAB      ۰      ۰                    * ۱۵۲۰۴                 * ۱۵۲۰۵

…..

۲- برای مشاهده‌ی کانکشن‌های (TCP):

ss -t

State      Recv-Q Send-Q    Local Address:Port        Peer Address:Port

ESTAB      ۰      ۰           ۱۹۲.۱۶۸.۱.۲:۴۳۸۳۹     ۱۰۸.۱۶۰.۱۶۲.۳۷:http

ESTAB      ۰      ۰           ۱۹۲.۱۶۸.۱.۲:۴۳۶۲۲     ۱۹۹.۵۹.۱۴۹.۲۰۱:https

ESTAB      ۰      ۰           ۱۹۲.۱۶۸.۱.۲:۳۳۱۴۱      ۸۳.۱۷۰.۷۳.۲۴۹:ircd

ESTAB      ۰      ۰           ۱۹۲.۱۶۸.۱.۲:۵۴۰۲۸     ۷۴.۱۲۵.۱۳۵.۱۲۵:xmpp-client

در صورت نیاز به مشاهده‌ی کانکشن‌های (LISTEN) می‌توانید از سویچ -a استفاده کنید.

۳- لیست تمام کانکشن‌های (UDP) باز و در حال (LISTEN):

$ ss -ua

State      Recv-Q Send-Q    Local Address:Port        Peer Address:Port

UNCONN     ۰      ۰           ۱۹۲.۱۶۸.۱.۲:۴۸۲۶۸                  *:*

UNCONN     ۰      ۰           ۱۹۲.۱۶۸.۱.۲:۵۶۵۷۵                  *:*

UNCONN     ۰      ۰                     *:۴۰۳۰۹                  *:*

UNCONN     ۰      ۰           ۱۹۲.۱۶۸.۱.۲:۵۶۸۷۹                  *:*

UNCONN     ۰      ۰                     *:۴۹۰۱۴                  *:*

UNCONN     ۰      ۰           ۱۹۲.۱۶۸.۱.۲:۵۳۱۲۴                  *:*

UNCONN     ۰      ۰             ۱۲۷.۰.۱.۱:domain                 *:*

۴-  برای این‌که فرمان ss آی‌پی‌ها را به نام دامنه تبدیل نکند، می‌توانید از سویچ -n استفاده کنید.

ss -nt

State      Recv-Q Send-Q      Local Address:Port        Peer Address:Port

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۴۳۸۳۹     ۱۰۸.۱۶۰.۱۶۲.۳۷:۸۰

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۵۱۳۵۰      ۷۴.۱۲۵.۲۰۰.۸۴:۴۴۳

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۳۳۱۴۱      ۸۳.۱۷۰.۷۳.۲۴۹:۶۶۶۷

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۵۴۰۲۸     ۷۴.۱۲۵.۱۳۵.۱۲۵:۵۲۲۲

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۴۸۱۵۶      ۶۶.۱۹۶.۱۲۰.۴۴:۵۰۵۰

۵- جهت مشاهده‌ی کانکشن‌های (LISTEN):
در فرمان زیر شما لیست تمام کانکشن‌های (TCP) در حالت (LISTEN) را مشاهده می‌کنید.

ss -ltn

State      Recv-Q Send-Q        Local Address:Port          Peer Address:Port

LISTEN     ۰      ۵                 ۱۲۷.۰.۱.۱:۵۳                       *:*

LISTEN     ۰      ۱۲۸               ۱۲۷.۰.۰.۱:۶۳۱                      *:*

LISTEN     ۰      ۱۲۸                     ::۱:۶۳۱                     :::*

۶- لیست پردازش‌های در حال (LISTEN) به‌همراه (PID):

ss -ltp

State      Recv-Q Send-Q    Local Address:Port        Peer Address:Port

LISTEN     ۰      ۱۰۰           ۱۲۷.۰.۰.۱:smtp                   *:*

LISTEN     ۰      ۱۲۸           ۱۲۷.۰.۰.۱:۹۰۵۰                   *:*

LISTEN     ۰      ۱۲۸                   *:۹۰                     *:*

LISTEN     ۰      ۱۲۸                   *:db-lsp                 *:*        users:((“dropbox”,3566,32))

LISTEN     ۰      ۵             ۱۲۷.۰.۰.۱:۶۶۰۰                   *:*

LISTEN     ۰      ۱۲۸           ۱۲۷.۰.۰.۱:۹۰۰۰                   *:*        users:((“php5-fpm”,1620,0),(“php5-fpm”,1619,0))

۷- نمایش اطلاعات کلی:

ss -s

Total: 526 (kernel 0)

TCP:   ۱۰ (estab 7, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0

Transport Total     IP        IPv6

*         ۰         –         –

RAW       ۰         ۰         ۰

UDP       ۱۵        ۹         ۶

TCP       ۱۰        ۹         ۱

INET      ۲۵        ۱۸        ۷

FRAG      ۰         ۰         ۰

۸-  نمایش اطلاعات زمان ارتباطات:

$ ss -tn -o

State      Recv-Q Send-Q      Local Address:Port        Peer Address:Port

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۴۳۸۳۹     ۱۰۸.۱۶۰.۱۶۲.۳۷:۸۰

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۳۶۳۳۵     ۲۰۴.۱۴۴.۱۴۰.۲۶:۸۰     timer:(keepalive,26sec,0)

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۳۳۱۴۱      ۸۳.۱۷۰.۷۳.۲۴۹:۶۶۶۷

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۵۸۸۵۷      ۷۴.۱۲۱.۱۴۱.۸۴:۸۰     timer:(keepalive,23sec,0)

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۴۲۷۹۴     ۱۷۳.۱۹۴.۴۰.۲۳۹:۸۰     timer:(keepalive,32sec,0)

۹- فیلتر خروجی بر مبنای حالت ارتباط:

$ ss -t4 state established

Recv-Q Send-Q         Local Address:Port             Peer Address:Port

۰      ۰                ۱۹۲.۱۶۸.۱.۲:۵۴۴۳۶          ۱۶۵.۱۹۳.۲۴۶.۲۳:https

۰      ۰                ۱۹۲.۱۶۸.۱.۲:۴۳۳۸۶          ۱۷۳.۱۹۴.۷۲.۱۲۵:xmpp-client

۰      ۰                ۱۹۲.۱۶۸.۱.۲:۳۸۳۵۵           ۱۹۹.۵۹.۱۵۰.۴۶:https

۰      ۰                ۱۹۲.۱۶۸.۱.۲:۵۶۱۹۸          ۱۰۸.۱۶۰.۱۶۲.۳۷:http

۱۰-  فیلتر خروجی بر مبنای پورت و آدرس:

$ ss -at ‘( dport = :ssh or sport = :ssh )’

State      Recv-Q Send-Q    Local Address:Port        Peer Address:Port

LISTEN     ۰      ۱۲۸                   *:ssh                    *:*

LISTEN     ۰      ۱۲۸                  :::ssh                   :::*

و یا اطلاعات پورت ۸۰ و ۴۴۳

$ ss -nt ‘( dst :443 or dst :80 )’

State      Recv-Q Send-Q      Local Address:Port        Peer Address:Port

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۵۸۸۴۴      ۱۹۹.۵۹.۱۴۸.۸۲:۴۴۳

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۵۵۳۲۰     ۱۶۵.۱۹۳.۲۴۶.۲۳:۴۴۳

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۵۶۱۹۸     ۱۰۸.۱۶۰.۱۶۲.۳۷:۸۰

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۵۴۸۸۹    ۱۹۲.۲۴۱.۱۷۷.۱۴۸:۴۴۳

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۳۹۸۹۳      ۱۷۳.۲۵۵.۲۳۰.۵:۸۰

ESTAB      ۰      ۰             ۱۹۲.۱۶۸.۱.۲:۳۳۴۴۰      ۳۸.۱۲۷.۱۶۷.۳۸:۴۴۳

برای مورد بالا این دستور نیز مشابه است:

$ ss -nt dst :443 or dst :80

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

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