ss是Socket Statistics的縮寫。顧名思義,ss命令可以用來獲取socket統計信息,它可以顯示和netstat類似的內容。ss的優勢在於它能夠顯示更多更詳細的有關TCP和連接狀態的信息,而且比netstat更快速更高效。
當服務器的socket連接數量變得非常大時,無論是使用netstat命令還是直接cat /proc/net/tcp,執行速度都會很慢。
ss快的祕訣在於,它利用到了TCP協議棧中tcp_diag。tcp_diag是一個用於分析統計的模塊,可以獲得Linux 內核中第一手的信息,這就確保了ss的快捷高效。
ss常見命令參數
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
常用的命令展示
ss -t -a 【顯示TCP連接】
-t: tcp
-a: all
-l: listening 【ss -l列出所有打開的網絡連接端口】
-s: summary 【顯示 Sockets 摘要】
-p: progress
-n: numeric 【不解析服務名稱】
-r: resolve 【解析服務名稱】
-m: memory 【顯示內存情況】
查看進程使用的socket
1 |
|
找出打開套接字/端口應用程序
1 |
|
顯示所有UDP Sockets
1 |
|
顯示所有狀態爲established的SMTP連接
1 2 3 |
|
列舉出處於 FIN-WAIT-1狀態的源端口爲 80或者 443,目標網絡爲 193.233.7/24所有 tcp套接字
1 |
|
匹配遠程地址和端口號
1 2 |
|
匹配本地地址和端口號
1 |
|
ss 和 netstat 效率對比
time netstat –an 【效率低】
time ss 【效率高】
作者:小a玖拾柒