快速上手Linux ss命令

ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

快速上手Linux ss命令插图

显示所有已建立连接的套接字

ss命令不带任何选项,用来显示已建立连接的所有套接字的列表。

[root@localhost ~]# ss

快速上手Linux ss命令插图1

抑制输出中的标题行

如果要取消命令输出中的标题行,可以使用-H选项。

[root@localhost ~]# ss -H

快速上手Linux ss命令插图2

只显示 tcp 连接

如果只想在命令的输出中显示 tcp 连接,可以使用-t选项:

[root@localhost ~]# ss -t

只显示 udp 连接

如果只想在命令的输出中显示 udp 连接,可以使用-u选项:

[root@localhost ~]# ss -u

只显示 unix 连接

如果只想在命令的输出中显示 unix套接字 连接,可以使用-x选项:

[root@localhost ~]# ss -x

快速上手Linux ss命令插图3

仅显示侦听状态的socket

如果只想显示被侦听的套接字,可以使用-l选项。

[root@localhost ~]# ss -l

显示摘要信息

使用-s选项可以显示摘要信息:

[root@localhost ~]# ss -s
Total: 156
TCP:   3 (estab 1, closed 0, orphaned 0, timewait 0)

Transport Total     IP        IPv6
RAW   1         0         1        
UDP   3         2         1        
TCP   3         2         1        
INET   7         4         3        
FRAG   0         0         0        

快速上手Linux ss命令插图4

仅显示 IPv4/IPv6 套接字

如果只想显示ipv4侦听的,可以使用-4-l选项。

[root@localhost ~]# ss -4l

快速上手Linux ss命令插图5 如果只想显示ipv6侦听的,可以使用-6-l选项。

[root@localhost ~]# ss -6l

快速上手Linux ss命令插图6

不将 IP 地址解析为主机名

如果不想将ip地址解析为主机名称,可以使用-n选项,以防止命令将 IP 地址解析为主机名。但这也会阻止端口号的解析:

[root@localhost ~]# ss -n -4l
Netid        State          Recv-Q         Send-Q                            Local Address:Port                   Peer Address:Port        
udp          UNCONN         0              0                         192.168.43.131%ens160:68                          0.0.0.0:*            
udp          UNCONN         0              0                                     127.0.0.1:323                         0.0.0.0:*            
tcp          LISTEN         0              128                                     0.0.0.0:22                          0.0.0.0:*            

快速上手Linux ss命令插图7

THE END