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