Linux ss(Socket Statistics) 命令详解

Linux ss 命令详解

ss (Socket Statistics) 是 Linux 系统中的一个强大工具,用于查看套接字(socket)统计信息。它是传统 netstat 命令的现代替代品,速度更快且功能更强大。

基本用法

ss [options]

常用选项

显示所有连接

ss -a  # 显示所有连接(监听和非监听)

按协议过滤

ss -t  # TCP 连接
ss -u  # UDP 连接
ss -w  # RAW 连接
ss -x  # UNIX 域套接字

显示监听端口

ss -l  # 显示所有监听端口
ss -lt # 显示监听中的 TCP 端口
ss -lu # 显示监听中的 UDP 端口

高级过滤

ss dst 192.168.1.1          # 显示目标地址为192.168.1.1的连接
ss src 10.0.0.1             # 显示源地址为10.0.0.1的连接
ss dport = :80              # 显示目标端口为80的连接
ss sport = :22              # 显示源端口为22的连接
ss 'dport > 1024'           # 显示目标端口大于1024的连接

显示进程信息

ss -p  # 显示使用套接字的进程

显示计时器信息

ss -o  # 显示计时器信息

显示摘要统计

ss -s  # 显示套接字使用摘要

实用示例

  1. 显示所有TCP连接:

    ss -t -a
    
  2. 显示所有监听中的TCP端口及对应进程:

    ss -ltp
    
  3. 显示所有连接到指定IP的连接:

    ss dst 192.168.1.100
    
  4. 显示所有来自特定端口的连接:

    ss sport = :443
    
  5. 显示UDP监听端口:

    ss -ul
    
  6. 显示所有UNIX域套接字:

    ss -x
    

输出解释

典型输出列包括:

  • Netid: 套接字类型 (tcp, udp, raw, unix等)
  • State: 连接状态
  • Recv-QSend-Q: 接收和发送队列
  • Local Address:Port: 本地地址和端口
  • Peer Address:Port: 远程地址和端口

ss 是网络故障排除和系统监控的强大工具,比 netstat 更快且提供更多详细信息。

你可能感兴趣的:(linux,运维,服务器)