
Linux系統中,檢視SOCKET使用情況可以使用ss指令。
1、指令格式:
ss [參數]
ss [參數] [過濾]
2、指令功能:
ss(Socket Statistics的縮寫)指令可以用來擷取 socket統計資訊,此指令輸出的結果類似于
netstat輸出的内容,但它能顯示更多更詳細的 TCP連接配接狀态的資訊,且比 netstat 更快速高效。它使用了 TCP協定棧中
tcp_diag(是一個用于分析統計的子產品),能直接從獲得第一手核心資訊,這就使得 ss指令快捷高效。在沒有
tcp_diag,ss也可以正常運作。
3、指令參數:
-h, --help 幫助資訊
-V, --version 程式版本資訊
-n, --numeric 不解析服務名稱
-r, --resolve 解析主機名
-a, --all 顯示所有套接字(sockets)
-l, --listening 顯示監聽狀态的套接字(sockets)
-o, --options 顯示計時器資訊
-e, --extended 顯示詳細的套接字(sockets)資訊
-m, --memory 顯示套接字(socket)的記憶體使用情況
-p, --processes 顯示使用套接字(socket)的程序
-i, --info 顯示 TCP内部資訊
-s, --summary 顯示套接字(socket)使用概況
-4, --ipv4 僅顯示IPv4的套接字(sockets)
-6, --ipv6 僅顯示IPv6的套接字(sockets)
-0, --packet 顯示 PACKET 套接字(socket)
-t, --tcp 僅顯示 TCP套接字(sockets)
-u, --udp 僅顯示 UCP套接字(sockets)
-d, --dccp 僅顯示 DCCP套接字(sockets)
-w, --raw 僅顯示 RAW套接字(sockets)
-x, --unix 僅顯示 Unix套接字(sockets)
-f, --family=FAMILY 顯示 FAMILY類型的套接字(sockets),FAMILY可選,支援 unix, inet, inet6, link, netlink
-A, --query=QUERY, --socket=QUERY
QUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]
-D, --diag=FILE 将原始TCP套接字(sockets)資訊轉儲到檔案
-F, --filter=FILE 從檔案中都去過濾器資訊
FILTER := [ state TCP-STATE ] [ EXPRESSION ]
4、使用執行個體:
# ss -s
Total: 140 (kernel 166)
TCP: 108 (estab 84, closed 16, orphaned 0, synrecv 0, timewait 15/0), ports 88
Transport Total IP IPv6
* 166 - -
RAW 0 0 0
UDP 0 0 0
TCP 92 92 0
INET 92 92 0
FRAG 0 0 0
# ss -t -a
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:http *:*
SYN-RECV 0 0 10.0.0.2:http 5.206.224.30:optika-emedia
LISTEN 0 128 *:epmd *:*
LISTEN 0 128 *:ssh *:*
LISTEN 0 128 *:15672 *:*
LISTEN 0 128 *:https *:*
LISTEN 0 128 *:amqp *:*
LISTEN 0 128 *:25672 *:*
ESTAB 0 0 10.0.0.2:46408 10.0.0.7:27017
TIME-WAIT 0 0 127.0.0.1:47209 127.0.0.1:http
TIME-WAIT 0 0 10.0.0.2:56428 17.143.163.8:2195
ESTAB 0 0 10.0.0.2:33258 10.0.0.8:27017
也可以直接檢視sockstat