ss是Socket Statistics的縮寫。顧名思義,ss命令能夠用來獲取socket統計信息,它能夠顯示和netstat相似的內容。但ss的優點在於它可以顯示更多更詳細的有關TCP和鏈接狀態的信息,並且比netstat更快速更高效。服務器
當服務器不管是使用netst的socket鏈接數量變得很是大時,at命令仍是直接cat /proc/net/tcp,執行速度都會很慢。當服務器維持的鏈接達到上萬個的時候,使用netstat等於浪費生命,而用ss纔是節省時間。它是ifconfig的取代者之一。網絡
它利用到了TCP協議棧中tcp_diag。tcp_diag是一個用於分析統計的模塊,能夠得到Linux 內核中第一手的信息,這就確保了ss的快捷高效。固然,若是你的系統中沒有tcp_diag,ss也能夠正常運行,只是效率會變得稍慢。ssh
下面咱們來看看傳說中惟快不破的服務器TCP網絡信息管理工具;socket
2、ss命令:Socket Statistics的縮寫
tcp
一、做用:用來設置網絡設備狀態,或者顯示目前設置,獲取socket統計信息,相似netstat,但比它更詳細,速度更快捷。ide
二、用法: ss [選項] [過濾] 用的時候根據須要組合選項效果更佳
工具
三、選項:(只列經常使用的,其餘用的時候查‘男人’)
spa
-t:TCP協議的相關鏈接orm
-u:UDP相關的鏈接blog
-w:raw socket相關的鏈接
-l:監聽狀態的鏈接
-a:全部狀態的鏈接
-n:數字格式
-p:相關的程序及其PID
-e:擴展格式信息
-m:內存用量
-o:計時器信息
四、TCP的常見狀態: FSM模式 (俗稱「TCP狀態機」)
LISTEN:監聽
ESTABLISEHD:數據傳輸狀態
FIN_WAIT_1:接收等待
FIN_WAIT_2:接收等待
SYN_SENT:主動打開
SYN_RECV:主動接收
CLOSED:關閉鏈接
五、部分使用示例
(1)、顯示TCP相關協議鏈接: ss -t
(2)、顯示套接字用不用情況: ss -s
(3)、僅顯示RAW套接字: ss -w
(4)、僅顯示 UCP套接字: ss -u
(5)、顯示監聽狀態套接字: ss -l
(6)、顯示套接字使用的進程: ss -p
(7)、顯示擴展格式套接字信息: ss -e
(8)、顯示套接字內存信息: ss -m
(9)、顯示套接字計時器信息: ss -o
(10)、顯示IPv4套接字信息: ss -4
(11)、顯示匹配本地地址和端口號信息: ss src 172.16.38.8:ssh