ss命令用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss命令的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
ss,应该是socket statistics的意思。
当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接 cat /proc/net/tcp,执行速度都会很慢。可能你不会有切身的感受,但请相信我,当服务器维持的连接达到上万个的时候,使用netstat等于浪费 生命,而用ss才是节省时间。
查看系统所有ipv4的tcp连接
xinlin@ubuntu:~$ ss -at4
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.53%lo:domain 0.0.0.0:*
LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*
LISTEN 0 5 127.0.0.1:ipp 0.0.0.0:*
LISTEN 0 128 127.0.0.1:6010 0.0.0.0:*
LISTEN 0 128 127.0.0.1:6011 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22334 0.0.0.0:*
ESTAB 0 0 192.168.1.100:ssh 192.168.1.199:55410
ESTAB 0 48 192.168.1.100:ssh 192.168.1.199:55406
ESTAB 0 0 192.168.1.100:ssh 192.168.1.199:58422
ESTAB 0 0 192.168.1.100:ssh 192.168.1.199:58421
-a:显示所有
-t:tcp
-4:ipv4
显示socket摘要
xinlin@ubuntu:~$ ss -s
Total: 978 (kernel 0)
TCP: 16 (estab 4, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0
Transport Total IP IPv6
* 0 - -
RAW 1 0 1
UDP 7 5 2
TCP 16 10 6
INET 24 15 9
FRAG 0 0 0
主要是ss命令在Ubuntu和CentOS中默认就有,更多的使用直接看man page吧。