ss
ss is used to dump socket statistics. It allows showing information similar to netstat. It can display more TCP and state informations than other tools.
ss
像是一个netstat
的增强。netstat
能输出的信息ss
基本都能输出,而且可以更快、更详细。比如下面一些常用的用法,在socket数量很多时,ss执行起来会更快。
# ss -ant // 类似 netstat -ant,但ss中Send-Q对于LISTEN状态的socket意义是listen backlog queue的长度。
# ss -ntp // 类似 netstat -ntp
# ss -s // 显示全局的socket数量统计
Total: 256 (kernel 260)
TCP: 14 (estab 2, closed 1, orphaned 0, synrecv 0, timewait 0/0), ports 7
Transport Total IP IPv6
* 260 - -
RAW 0 0 0
UDP 9 6 3
TCP 13 7 6
INET 22 13 9
FRAG 0 0 0
另外,ss能够显示更多TCP相关的内部信息。比如:
# ss -nti // 显示ESTAB状态下TCP流的内部信息
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 10.211.55.6:22 10.211.55.2:52520
cubic wscale:5,6 rto:201 rtt:1/0.5 ato:51 cwnd:10 send 115.8Mbps rcv_rtt:1 rcv_space:14480
ESTAB 0 0 10.211.55.6:22 10.211.55.2:63775
cubic wscale:5,6 rto:201 rtt:1.875/0.75 ato:40 cwnd:10 send 61.8Mbps rcv_rtt:2 rcv_space:14480
# ss -ntm // 显示ESTAB状态下TCP流的内存使用情况
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 10.211.55.6:22 10.211.55.2:52520
mem:(r0,w0,f0,t0)
ESTAB 0 0 10.211.55.6:22 10.211.55.2:63775
mem:(r0,w0,f4096,t0)
# ss -nto // 显示ESTAB状态下TCP流的内存使用情况
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 10.211.55.6:22 10.211.55.2:52520 timer:(keepalive,47min,0)
ESTAB 0 0 10.211.55.6:22 10.211.55.2:63775 timer:(keepalive,5min20sec,0)
ss
是iproute2软件包的一部分,有兴趣的可以看看它的源码。对了,之前介绍的nstat
也是该软件包的一部分。