新聞中心
ss 是 Socket Statistics 的縮寫。ss 命令可以用來獲取 socket 統(tǒng)計信息,它顯示的內(nèi)容和 netstat 類似。但 ss 的優(yōu)勢在于它能夠顯示更多更詳細的有關(guān) TCP 和連接狀態(tài)的信息,而且比 netstat 更快。

ss實用用法
ss -s 是一個非常有用的命令。它可以按網(wǎng)絡(luò)傳輸類型顯示總體統(tǒng)計信息,我們不妨來測試一下:
$ ss -s
Total: 524
TCP: 8 (estab 1, closed 0, orphaned 0, timewait 0)
Transport Total IP IPv6
RAW 2 1 1
UDP 7 5 2
TCP 8 6 2
INET 17 12 5
FRAG 0 0 0
RAW Socket 原始套接字。允許直接發(fā)送和接收 IP 數(shù)據(jù)包,無需滿足特定的傳輸協(xié)議,用于 namp 等安全應(yīng)用。
TCP 傳輸控制協(xié)議。是我們網(wǎng)絡(luò)連接當中的主要連接協(xié)議。
UDP 用戶數(shù)據(jù)報協(xié)議。類似于 TCP 但沒有錯誤檢查。
INET 包含上述項。( INET4 和 INET6 可以通過一些 ss 命令單獨查看)。
FRAG 可以理解為碎片的意思。
顯然,上面的輸出結(jié)果并沒有直接顯示詳細的 socket 連接情況,我們可以看到最上面的 Total 行顯示的 socket 總數(shù)是非常多的,不過,這種分類統(tǒng)計的方式在某些情況下很有用。 如果想要查看具體的 socket 活動信息,我們可以使用 ss -a 命令,但是我們要做好心理準備查看一大堆的信息,我們可以先用 wc -l 來統(tǒng)計一下行數(shù)試探一波:
$ ss -a | wc -l
555
有木有被嚇到?555 行數(shù)據(jù)! 不過不必驚慌,我們可以查看指定類別的 socket 活動。
ss -ta 轉(zhuǎn)儲所有 TCP socket
ss -ua 轉(zhuǎn)儲所有 UDP socket
ss -wa 轉(zhuǎn)儲所有 RAW socket
ss -xa 轉(zhuǎn)儲所有 UNIX socket
ss -4a 轉(zhuǎn)儲所有 IPV4 socket
ss -6a 轉(zhuǎn)儲所有 IPV6 socket
不帶參數(shù)的 ss 命令會顯示所有已經(jīng)建立的 socket 連接。為了方便閱讀,這里只顯示一頁的信息,省略其他大部分信息:
$ ss | more
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
u_str ESTAB 0 0 * 20863 * 20864
u_str ESTAB 0 0 * 32232 * 33018
u_str ESTAB 0 0 * 33147 * 3257544ddddy
u_str ESTAB 0 0 /run/user/121/bus 32796 * 32795
u_str ESTAB 0 0 /run/user/121/bus 32574 * 32573
u_str ESTAB 0 0 * 32782 * 32783
u_str ESTAB 0 0 /run/systemd/journal/stdout 19091 * 18113
u_str ESTAB 0 0 * 769568 * 768429
u_str ESTAB 0 0 * 32560 * 32561
u_str ESTAB 0 0 @/tmp/dbus-8xbBdjNe 33155 * 33154
u_str ESTAB 0 0 /run/systemd/journal/stdout 32783 * 32782
…
tcp ESTAB 0 64 192.168.0.16:ssh 192.168.0.6:25944
tcp ESTAB 0 0 192.168.0.16:ssh 192.168.0.6:5385
要查看剛建立的 TCP 連接,使用 ss -t :
$ ss -t
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 64 192.168.0.16:ssh 192.168.0.6:25944
ESTAB 0 0 192.168.0.16:ssh 192.168.0.9:5385
要僅顯示監(jiān)聽 socket ,嘗試 ss -lt :
$ ss -lt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 10 127.0.0.1:submission 0.0.0.0:*
LISTEN 0 128 127.0.0.53%lo:domain 0.0.0.0:*
LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*
LISTEN 0 5 127.0.0.1:ipp 0.0.0.0:*
LISTEN 0 10 127.0.0.1:smtp 0.0.0.0:*
LISTEN 0 128 [::]:ssh [::]:*
LISTEN 0 5 [::1]:ipp [::]:*
若你想要顯示端口號而不是服務(wù)名,則 ss -ltn :
$ ss -ltn
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 10 127.0.0.1:587 0.0.0.0:*
LISTEN 0 128 127.0.0.53%lo:53 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 5 127.0.0.1:631 0.0.0.0:*
LISTEN 0 10 127.0.0.1:25 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 5 [::1]:631 [::]:*
這里就先介紹這么多,其他的詳細內(nèi)容請參考幫助手冊( ss -h)。 另外,這里提供一些小技巧,你可以將那些最有用的選項轉(zhuǎn)換為別名,能讓你更容易使用。例如:
$ alias listen="ss -lt"
$ alias socksum="ss -s"
分享文章:Linuxss命令使用實例
標題路徑:http://www.5511xx.com/article/dpsggsj.html


咨詢
建站咨詢
