ss是socket statistics的简写,用来dump socket统计信息。可以显示网络连接信息,功能跟netstat类似,但是据说性能上要比netstat要好几倍,所以在高负载的服务器上查看网络连接状态,最好使用ss,而不是netstat。
语法
$ ss [options] [ FILTER ]
常用选项
-h: 显示ss选项的摘要信息
-V: 显示ss程序版本
-n: 数字格式显示
-a: 显示所有
-t: 显示tcp协议连接
-u: 显示udp协议连接
-w: 显示裸套接字连接
-x: 显示Unix域套接字
-p: 显示进程信息
-m: 连接的内存使用情况
-r: 显示主机名
-o: 显示时间信息
-l: 只显示LINSTEN状态的连接
-e: 显示套接字详细信息
state :按过滤条件显示连接信息
如果直接使用ss命令,将显示所有处于established状态的socket连接信息。
示例
# 显示所有tcp连接
$ ss -tan
# 显示处于LISTEN状态的tcp连接
$ ss -tanl
# 显示所有udp连接
$ ss -tau
# 显示established状态的连接
$ ss -apn state established
# 显示所有established状态的ssh连接
$ ss -ona state established '( dport = :ssh or sport = :ssh )'
$ ss -ona state established '( dport = :22 or sport = :22 )'
All standard TCP states
established, syn-sent, syn-recv, fin-wait-1, fin-wait-2, time-wait, closed, close-wait, last-ack, listen and closing