SS 显示套接字信息的工具

ss 命令是 Linux 系统上用于显示套接字信息的工具,它是 netstat 的替代品,提供了更多的功能和更好的性能。以下是 ss 命令的详细使用手册:

基础语法:

1
ss [options] [filter]

选项(Options):

  • a: 显示所有套接字,包括监听、已建立和关闭(not listening or closed)的套接字。默认仅显示监听或已建立的套接字。

  • l: 只显示监听套接字。

  • e: 只显示已建立的套接字。

  • p : 根据指定的进程 ID 过滤显示的套接字。

  • u : 根据用户名过滤显示的套接字。

  • n: 不解析主机名称,直接显示数字形式的 IP 地址。

  • r: 按照最近使用的顺序逆向排列输出(即最近活跃的套接字先显示)。

  • o: 指定输出格式,可以是 jsonxml 等格式。

  • i : 只显示特定网络接口上的套接字。

  • m : 只显示特定协议的套接字(例如,tcpudp)。

  • t <transport_family>: 指定传输层家族,如 inet(IPv4)、inet6(IPv6)或 unix(Unix 域套接字)。

过滤器(Filter):

  • protocol:port: 显示特定协议和端口的套接字(例如,tcp:22 显示所有使用 TCP 协议且监听在端口 22 上的套接字)。

  • ip_address:port: 显示特定 IP 地址和端口的套接字(例如,192.0.2.1:80 显示 IP 地址 192.0.2.1 上监听在端口 80 上的套接字)。

  • username: 根据指定的用户名过滤显示的套接字(例如,u john 会显示所有由 John 使用的套接字)。

  • interface: 只显示连接到特定网络接口的套接字(例如,i eth0 会显示所有连接到 eth0 网络接口的套接字)。

例子:

  1. 显示所有 TCP 套接字:
1
ss -t tcp
  1. 显示所有 listened 套接字:
1
ss -l
  1. 显示所有已建立的套接字:
1
ss -e
  1. 只显示 eth0 网络接口上的套接字:
1
ss -i eth0
  1. 只显示使用 TCP 协议的套接字:
1
ss -t tcp

提示(Tips):

  • ss 命令可以用来查看网络连接和套接字信息,包括 TCP/UDP 套接字、Unix 域套接字(SOCK)、原始套接字(RAW)等。通过适当的选项和过滤器组合,你可以获取到丰富的网络状态信息。

  • ss 命令可以用来监控网络连接和套接字的活动状态,例如,通过使用 a 选项和 eth0 过滤器,你可以查看 eth0 网络接口上的所有活动连接。

  • ss 命令还提供了一些高级的选项和过滤器,例如,使用 o jsono xml 可以将输出格式化为 JSON 或 XML,这对于自动化脚本或进一步分析的场景非常有用。

请我喝杯咖啡吧~

支付宝
微信