這篇文章主要講解了“Linux的ss命令如何使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“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命令如何使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。