如果需要访问系统的socket相关信息,大多数人想到的第一个工具就是netstat。但是如果你想获得更多信息,你可以使用 ss ​​命令​​来达到这个目的。

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

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

[root@localhost ~]# ss

Linux 中 ss 命令的使用实例_套接字

抑制输出中的标题行

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

[root@localhost ~]# ss -H

Linux 中 ss 命令的使用实例_html_02

只显示 tcp 连接

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

[root@localhost ~]# ss -t

只显示 udp 连接

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

[root@localhost ~]# ss -u

只显示 unix 连接

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

[root@localhost ~]# ss -x

Linux 中 ss 命令的使用实例_html_03

仅显示侦听状态的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 命令的使用实例_主机名_04

仅显示 IPv4/IPv6 套接字

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

​https://www.51cto.com/it/news/2022/0722/33307.html ​

​http://www.techweb.com.cn/article/2022-07-21/2898956.shtml ​

​http://www.citnews.com.cn/news/202208/147996.html ​

​https://www.51cto.com/it/news/2022/0809/33650.html​

[root@localhost ~]# ss -4l

Linux 中 ss 命令的使用实例_主机名_05


如果只想显示ipv6侦听的,可以使用​​-6​​和​​-l​​选项。

[root@localhost ~]# ss -6l

Linux 中 ss 命令的使用实例_html_06

不将 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 命令的使用实例_套接字_07