Linux下ss命令的研究

2022-06-05 05:12:09 字數 1956 閱讀 1384

1.ss命令簡介

•ss 是 socket statistics 的縮寫。ss 命令可以用來獲取 socket 統計資訊,它顯示的內容和 netstat 類似。但 ss 的優勢在於它能夠顯示更多更詳細的有關 tcp 和連線狀態的資訊,而且比 netstat 更快。當伺服器的 socket 連線數量變得非常大時,無論是使用 netstat 命令還是直接 cat /proc/net/tcp,執行速度都會很慢。ss 命令利用到了 tcp 協議棧中 tcp_diag。tcp_diag 是乙個用於分析統計的模組,可以獲得 linux 核心中第一手的資訊,因此 ss 命令的效能會好很多。

2.ss與netstat

•在最新的linux系統裡面,netstat的部分命令已經被更為強大的ss取代了,netstat已過時。ss命令用來顯示處於活動狀態的套接字資訊。ss命令可以用來獲取socket統計資訊,ss的優勢在於它能夠顯示更多更詳細的有關tcp和連線狀態的資訊,而且比netstat更快速更高效。

3.ss命令探索

•使用ss --help檢視netstat常用命令

•ss -tnl 檢視主機監聽的埠

•ss -tlr 解析ip和埠號

•ss -s 檢視概要資訊

•ss -at獲取tcp socket   ss -au獲取udp socket

•通過 dst/src/dport/sprot 語法來過濾連線的**埠和目標埠

顯示大於等於50的埠

•顯示狀態為established的ssh連線

•time命令分別獲取通過netstat和ss命令獲取程式和占用資源所用時間

可以看出ss的效率比netstat高出不少

4.總結

•ss命令效能出色且功能豐富,可以用來替代 netsate 命令成為我們日常檢視 socket 相關資訊的利器。其實拋棄 netstate 命令已經是大勢所趨,有的 linux 版本預設已經不再內建 netstate 而是內建了 ss 命令。

•當伺服器的socket連線數量變得非常大時,無論是使用netstat命令還是直接•cat /proc/net/tcp,執行速度都會很慢。可能你不會有切身的感受,當伺服器維持的連線達到上萬個的時候,使用netstat等於浪費生命,而用ss才是節省時間。

•而ss快的秘訣在於它利用到了tcp協議棧中tcp_diag。tcp_diag是乙個用於分析統計的模組,可以獲得linux核心中第一手的資訊,這就確保了ss的快捷高效。當然,如果系統中沒有tcp_diag,ss也可以正常執行,只是效率會變得稍慢(但仍然比netstat要快)。

linux下SS 網路命令詳解

ss命令用來顯示處於活動狀態的套接字資訊。ss命令可以用來獲取socket統計資訊,它可以顯示和netstat類似的內容。但ss的優勢在於它能夠顯示更多更詳細的有關tcp和連線狀態的資訊,而且比netstat更快速更高效。當伺服器的socket連線數量變得非常大時,無論是使用netstat命令還是直...

linux下expect命令實現批量ssh免密

有時候我們需要批量傳送ssh命令給伺服器,但是有可能有些伺服器是新加入的,還沒有配置ssh免密,這個時候就會提示我們輸入yes no 或者password等,expect指令碼命令就是用於在提示這些的時候,自動為我們輸入相應的文字 先看一段shell指令碼,實現了ssh自動連線 usr bin ex...

Linux 命令(5) ss 命令

ss是socket statistics的縮寫。ss命令用於顯示socket狀態.他可以顯示packet sockets,tcp sockets,udp sockets,dccp sockets,raw sockets,unix domain sockets等等統計.它比其他工具展示等多tcp和st...