Astrisk Blog

SHELL-SS

• LINUXSHELL

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