溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux的ss命令如何使用

發布時間:2022-02-16 16:48:24 來源:億速云 閱讀:178 作者:iii 欄目:開發技術

這篇文章主要講解了“Linux的ss命令如何使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Linux的ss命令如何使用”吧!

Linux常用命令ss是Socket Statistics的縮寫。顧名思義,ss命令可以用來獲取socket統計信息,它可以顯示和netstat類似的內容。ss的優勢在于它能夠顯示更多更詳細的有關TCP和連接狀態的信息,而且比netstat更快速更高效。

Linux的ss命令如何使用

語法:

ss [options] [ FILTER ]1.

實例

1.列出已建立的連接

默認情況下,如果我們運行ss命令而沒有指定其他選項,它將顯示所有已建立連接的打開的非偵聽套接字的列表,例如TCP,UDP或UNIX套接字。

[root@renwolecom ~]# ss | head -n 5
Netid  State  Recv-Q Send-Q Local Address:Port   Peer Address:Port
u_str  ESTAB  0      0       * 19098                 * 18222
u_str  ESTAB  0      0       * 19441                 * 19440
u_str  ESTAB  0      0       * 19440                 * 19441
u_str  ESTAB  0      0       * 19396                 * 193971.2.3.4.5.6.

2.顯示監聽套接字

我們可以使用-l選項專門列出當前正在偵聽連接的套接字,而不是列出所有的套接字。

[root@renwolecom ~]# ss -lt
State   Recv-Q Send-Q    Local Address:Port       Peer Address:Port
LISTEN  0      128                   *:http                  *:*
LISTEN  0      100           127.0.0.1:smtp                  *:*
LISTEN  0      128                   *:entexthigh            *:*
LISTEN  0      128       172.28.204.62:zabbix-trapper        *:*
LISTEN  0      128           127.0.0.1:cslistener            *:*
LISTEN  0      80                   :::mysql                :::*
LISTEN  0      100                 ::1:smtp                 :::*
LISTEN  0      128                  :::entexthigh           :::*1.2.3.4.5.6.7.8.9.10.

在這個示例中,我們還使用-t選項只列出TCP,稍后將對此進行詳細說明。在后面的例子中,你會看到我將結合多種選擇,以快速過濾掉,從而達到我們的目的。

3.顯示進程

我們可以用-p選項打印出擁有套接字的進程或PID號。

[root@renwolecom ~]# ss -pl

Netid  State      Recv-Q Send-Q Local Address:Port     Peer Address:Port
tcp    LISTEN     0      128    :::http                :::*                 users:(("httpd",pid=10522,fd=4),("httpd",pid=10521,fd=4),("httpd",pid=10520,fd=4),("httpd",pid=10519,fd=4),("httpd",pid=10518,fd=4),("httpd",pid=10516,fd=4))1.2.3.4.

在上面的例子中我只列出了一個結果,沒有進行進一步選項,因為ss的完整輸出打印出超過500行到標準輸出。所以我只列出一條結果,由此我們可以看到服務器上運行的各種Apache進程ID。

4.不解析服務名稱

默認情況下,ss只會解析端口號,例如在下面的行中,我們可以看到172.28.204.62:mysql,其中mysql被列為本地端口。

[root@renwolecom ~]# ss
Netid State Recv-Q Send-Q   Local Address:Port       Peer Address:Port
tcp   ESTAB 0      0 ::ffff:172.28.204.62:mysql ::ffff:172.28.204.62:38920
tcp   ESTAB 0      0 ::ffff:172.28.204.62:mysql ::ffff:172.28.204.62:51598
tcp   ESTAB 0      0 ::ffff:172.28.204.62:mysql ::ffff:172.28.204.62:51434
tcp   ESTAB 0      0 ::ffff:172.28.204.62:mysql ::ffff:172.28.204.62:363601.2.3.4.5.6.

但是,如果我們指定-n選項,看到的是端口號而不是服務名稱。

[root@renwolecom ~]# ss -n
Netid State Recv-Q Send-Q   Local Address:Port       Peer Address:Port
tcp   ESTAB 0      0 ::ffff:172.28.204.62:3306  ::ffff:172.28.204.62:38920
tcp   ESTAB 0      0 ::ffff:172.28.204.62:3306  ::ffff:172.28.204.62:51598
tcp   ESTAB 0      0 ::ffff:172.28.204.62:3306  ::ffff:172.28.204.62:51434
tcp   ESTAB 0      0 ::ffff:172.28.204.62:3306  ::ffff:172.28.204.62:363601.2.3.4.5.6.

現在顯示3306,而非mysql,因為禁用了主機名和端口的所有名稱解析。另外你還可以查看/etc/services得到所有服務對應的端口列表。

5.解析數字地址/端口

用-r選項可以解析IP地址和端口號。用此方法可以列出172.28.204.62服務器的主機名。

[root@renwolecom ~]# ss -rNetid  State  Recv-Q Send-Q        Local Address:Port      Peer Address:Port
tcp    ESTAB      0      0         renwolecom:mysql        renwolecom:481341.2.

6.IPv4套接字

我們可以通過-4選項只顯示與IPv4套接字對應的信息。在下面的例子中,我們還使用-l選項列出了在IPv4地址上監聽的所有內容。

[root@renwolecom ~]# ss -l4
Netid State      Recv-Q Send-Q  Local Address:Port            Peer Address:Port
tcp   LISTEN     0      128                 *:http                       *:*
tcp   LISTEN     0      100         127.0.0.1:smtp                       *:*
tcp   LISTEN     0      128                 *:entexthigh                 *:*
tcp   LISTEN     0      128     172.28.204.62:zabbix-trapper             *:*
tcp   LISTEN     0      128         127.0.0.1:cslistener                 *:*1.2.3.4.5.6.7.

7.IPv6套接字

同樣,我們可以使用-6選項只顯示與IPv6套接字相關信息。在下面的例子中,我們還使用-l選項列出了在IPv6地址上監聽的所有內容。

[root@renwolecom ~]# ss -l6
Netid State      Recv-Q Send-Q  Local Address:Port            Peer Address:Port
udp   UNCONN     0      0                  :::ipv6-icmp                 :::*
udp   UNCONN     0      0                  :::ipv6-icmp                 :::*
udp   UNCONN     0      0                  :::21581                     :::*
tcp   LISTEN     0      80                 :::mysql                     :::*
tcp   LISTEN     0      100               ::1:smtp                      :::*
tcp   LISTEN     0      128                :::entexthigh                :::*1.2.3.4.5.6.7.8.

8.只顯示TCP

-t選項只顯示TCP套接字。當與-l結合只打印出監聽套接字時,我們可以看到所有在TCP上偵聽的內容。

[root@renwolecom ~]# ss -lt
State       Recv-Q Send-Q    Local Address:Port               Peer Address:Port
LISTEN      0      128                   *:http                          *:*
LISTEN      0      100           127.0.0.1:smtp                          *:*
LISTEN      0      128                   *:entexthigh                    *:*
LISTEN      0      128       172.28.204.62:zabbix-trapper                *:*
LISTEN      0      128           127.0.0.1:cslistener                    *:*
LISTEN      0      80                   :::mysql                        :::*
LISTEN      0      100                 ::1:smtp                         :::*
LISTEN      0      128                  :::entexthigh                   :::*1.2.3.4.5.6.7.8.9.10.

9.顯示UDP

-u選項可用于僅顯示UDP套接字。由于UDP是一種無連接的協議,因此只運行-u選項將不顯示輸出,我們可以將它與-a或-l選項結合使用,來查看所有偵聽UDP套接字,如下所示:

[root@renwolecom ~]# ss -ul
State      Recv-Q Send-Q Local Address:Port                 Peer Address:Port
UNCONN     0      0              *:sunwebadmins                 *:*
UNCONN     0      0              *:etlservicemgr                *:*
UNCONN     0      0              *:dynamid                      *:*
UNCONN     0      0              *:9003                         *:*
UNCONN     0      0              *:9004                         *:*
UNCONN     0      0      127.0.0.1:terabase                     *:*
UNCONN     0      0              *:56803                        *:*1.2.3.4.5.6.7.8.9.

10. Unix套接字

-x選項只能用來顯示unix域套接字。

[root@renwolecom ~]# ss -x
Netid State Recv-Q Send-Q                    Local Address:Port Peer Address:Port
u_str ESTAB 0      0 /tmp/zabbix_server_preprocessing.sock 23555           * 21093
u_str ESTAB 0      0          /tmp/zabbix_server_ipmi.sock 20155           * 19009
u_str ESTAB 0      0 /tmp/zabbix_server_preprocessing.sock 19354           * 22573
u_str ESTAB 0      0 /tmp/zabbix_server_preprocessing.sock 21844           * 19375
...1.2.3.4.5.6.7.

11.顯示所有信息

-a選項顯示所有的監聽和非監聽套接字,在TCP的情況下,這意味著已建立的連接。這個選項與其他的組合很有用,例如可以添加-a選項顯示所有的UDP套接字,默認情況下只有-u選項我們看不到多少信息。

[root@renwolecom ~]# ss -u
Recv-Q Send-Q Local Address:Port                 Peer Address:Port
0      0      172.28.204.66:36371                    8.8.8.8:domain1.2.3.
[root@renwolecom ~]# ss -ua
State      Recv-Q Send-Q Local Address:Port                 Peer Address:Port
UNCONN     0      0                 *:sunwebadmins                    *:*
UNCONN     0      0                 *:etlservicemgr                   *:*
UNCONN     0      0                 *:dynamid                         *:*
UNCONN     0      0                 *:9003                            *:*
UNCONN     0      0                 *:9004                            *:*
UNCONN     0      0         127.0.0.1:terabase                        *:*
UNCONN     0      0                 *:56803                           *:*
ESTAB      0      0      172.28.204.66:36371                     8.8.8.8:domain1.2.3.4.5.6.7.8.9.10.

12.顯示套接字內存使用情況

-m選項可用于顯示每個套接字使用的內存量。

[root@renwolecom ~]# ss -ltm
State   Recv-Q Send-Q  Local Address:Port Peer Address:Port
LISTEN  0      128                 *:http           *:*skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0)
LISTEN  0      100         127.0.0.1:smtp           *:*skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0)
LISTEN  0      128                 *:entexthigh     *:*skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0)
LISTEN  0      128     172.28.204.62:zabbix-trapper *:*skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0)
LISTEN  0      128         127.0.0.1:cslistener     *:*skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0)
LISTEN  0      80                 :::mysql         :::*skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0)
LISTEN  0      100               ::1:smtp          :::*skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0)
LISTEN  0      128                :::entexthigh    :::*skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0)1.2.3.4.5.6.7.8.9.10.

13.顯示TCP內部信息

我們可以使用-i選項請求額外的內部TCP信息。

[root@renwolecom ~]# ss -lti
State       Recv-Q Send-Q Local Address:Port         Peer Address:Port
LISTEN      0      128               *:chimera-hwm              *:*  bbr cwnd:10
LISTEN      0      128               *:etlservicemgr            *:*  bbr cwnd:10
LISTEN      0      128   172.28.204.66:27017                    *:*  bbr cwnd:10
LISTEN      0      128       127.0.0.1:27017                    *:*  bbr cwnd:10
LISTEN      0      128               *:dynamid                  *:*  bbr cwnd:10
LISTEN      0      128               *:9003                     *:*  bbr cwnd:10
LISTEN      0      128               *:9004                     *:*  bbr cwnd:10
LISTEN      0      128               *:http                     *:*  bbr cwnd:10
LISTEN      0      128               *:ssh                      *:*  bbr cwnd:10
LISTEN      0      100       127.0.0.1:smtp                     *:*  bbr cwnd:10
LISTEN      0      128               *:sunwebadmins             *:*  bbr cwnd:10
LISTEN      0      128              :::ssh                     :::*  bbr cwnd:101.2.3.4.5.6.7.8.9.10.11.12.13.14.

在每個偵聽套接字下面,我們可以看到更多信息。注意:-i選項不適用于UDP,如果您指定-u,而非-t,則不會顯示這些額外的信息。

14.顯示統計信息

我們可以使用-s選項快速查看統計數據。

[root@renwolecom ~]# ss -s
Total: 798 (kernel 1122)
TCP:   192 (estab 99, closed 81, orphaned 0, synrecv 0, timewait 1/0), ports 0

Transport Total     IP        IPv6
*         1122      -         -
RAW       1         0         1
UDP       0         0         0
TCP       111       59        52
INET      112       59        53
FRAG      0         0         01.2.3.4.5.6.7.8.9.10.11.

這使我們能夠快速看到已建立連接的總數,及各種類型的套接字的計數和IPv4或IPv6的使用情況。

15.基于狀態的過濾器

我們可以指定一個套接字的狀態,只打印這個狀態下的套接字。例如,我們可以指定包括已建立, established, syn-sent, syn-recv, fin-wait-1, fin-wait-2, time-wait, closed, closed-wait, last-ack監聽和關閉等狀態。以下示例顯示了所有建立的TCP連接。為了生成這個,我通過SSH連接到了服務器,并從Apache加載了一個網頁。然后我們可以看到與Apache的連接迅速轉變為等待時間。

[root@renwolecom ~]# ss -t state established
Recv-Q Send-Q       Local Address:Port              Peer Address:Port
0      52           172.28.204.67:ssh              123.125.71.38:49518
0      0     ::ffff:172.28.204.67:http      ::ffff:123.125.71.38:492371.2.3.4.
[root@renwolecom ~]# ss -t state established
Recv-Q Send-Q       Local Address:Port              Peer Address:Port
0      0            172.28.204.67:ssh            103.240.143.126:55682
0      52           172.28.204.67:ssh              123.125.71.38:49518
0      0     ::ffff:172.28.204.67:http      ::ffff:123.125.71.38:492621.2.3.4.5.

16.根據端口號進行過濾

可以通過過濾還可以列出小于(lt),大于(gt),等于(eq),不等于(ne),小于或等于(le),或大于或等于(ge)的所有端口。

例如,以下命令顯示端口號為500或以下的所有偵聽端口:

[root@renwolecom ~]# ss -ltn sport le 500
State       Recv-Q Send-Q Local Address:Port        Peer Address:Port
LISTEN      0      128                *:80                     *:*
LISTEN      0      100        127.0.0.1:25                     *:*
LISTEN      0      100              ::1:25                    :::*1.2.3.4.5.

為了進行比較,我們可以執行相反的操作,并查看大于500的所有端口:

[root@renwolecom ~]# ss -ltn sport gt 500
State       Recv-Q Send-Q Local Address:Port        Peer Address:Port
LISTEN      0      128                *:12002                  *:*
LISTEN      0      128    172.28.204.62:10051                  *:*
LISTEN      0      128        127.0.0.1:9000                   *:*
LISTEN      0      80                :::3306                  :::*
LISTEN      0      128               :::12002                 :::*1.2.3.4.5.6.7.

我們還可以根據源或目標端口等項進行篩選,例如,我們搜索具有SSH源端口運行的TCP套接字:

[root@renwolecom ~]# ss -t '( sport = :ssh )'
State       Recv-Q Send-Q    Local Address:Port     Peer Address:Port
ESTAB       0      0         172.28.204.66:ssh     123.125.71.38:501401.2.3.

17.顯示SELinux上下文

-Z`與`-z`選項可用于顯示套接字的SELinux安全上下文。 在下面的例子中,我們使用`-t`和-l`選項來列出偵聽的TCP套接字,使用-Z選項我們也可以看到SELinux的上下文。
[root@renwolecom ~]# ss -tlZ
State  Recv-Q Send-Q  Local Address:Port        Peer Address:Port
LISTEN 0      128                 *:sunrpc                 *:*
users:(("systemd",pid=1,proc_ctx=system_u:system_r:init_t:s0,fd=71))
LISTEN 0      5       172.28.204.62:domain                 *:*
users:(("dnsmasq",pid=1810,proc_ctx=system_u:system_r:dnsmasq_t:s0-s0:c0.c1023,fd=6))
LISTEN 0      128                 *:ssh                    *:*
users:(("sshd",pid=1173,proc_ctx=system_u:system_r:sshd_t:s0-s0:c0.c1023,fd=3))
LISTEN 0      128         127.0.0.1:ipp                    *:*
users:(("cupsd",pid=1145,proc_ctx=system_u:system_r:cupsd_t:s0-s0:c0.c1023,fd=12))
LISTEN 0      100         127.0.0.1:smtp                   *:*
users:(("master",pid=1752,proc_ctx=system_u:system_r:postfix_master_t:s0,fd=13))1.2.3.4.5.6.7.8.9.10.11.12.

18.顯示版本號

-v選項可用于顯示ss命令的特定版本信息,在這種情況下,我們可以看到提供ss的iproute包的版本。

[root@renwolecom ~]# ss -v
ss utility, iproute2-ss1307161.2.

19.顯示幫助文檔信息

-h選項可用于顯示有關ss命令的進一步的幫助,如果需要對最常用的一些選項進行簡短說明,則可以將其用作快速參考。 請注意:這里并未輸入完整列表。

[root@renwolecom ~]# ss -h
Usage: ss [ OPTIONS ]1.2.

20.顯示擴展信息

我們可以使用-e選項來顯示擴展的詳細信息,如下所示,我們可以看到附加到每條行尾的擴展信息。

[root@renwolecom ~]# ss -lte
State  Recv-Q Send-Q Local Address:Port   Peer Address:Port
LISTEN 0      128                *:sunrpc *:*      ino:16090 sk:ffff880000100000 
LISTEN 0      5      172.28.204.62:domain *:*      ino:23750 sk:ffff880073e70f80 
LISTEN 0      128                *:ssh    *:*      ino:22789 sk:ffff880073e70000 
LISTEN 0      128        127.0.0.1:ipp    *:*      ino:23091 sk:ffff880073e707c0 
LISTEN 0      100        127.0.0.1:smtp   *:*      ino:24659 sk:ffff880000100f80 1.2.3.4.5.6.7.

21.顯示計時器信息

-o選項可用于顯示計時器信息。該信息向我們展示了諸如重新傳輸計時器值、已經發生的重新傳輸的數量以及已發送的keepalive探測的數量。

[root@renwolecom ~]# ss -to
State      Recv-Q Send-Q Local Address:Port      Peer Address:Port
ESTAB      0      52     172.28.204.67:ssh      123.125.71.38:49518timer:(on,406ms,0)
LAST-ACK   0      1      172.28.204.67:ssh    103.240.143.126:49603timer:(on,246ms,0)

感謝各位的閱讀,以上就是“Linux的ss命令如何使用”的內容了,經過本文的學習后,相信大家對Linux的ss命令如何使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女