# ss 命令

# 简介

ss(Socket Statistics)命令是一个用于查看网络连接状态的强大工具,它可以显示和检查sockets的统计信息,是netstat命令的替代品。

# 语法

ss [选项] [过滤条件]

# 常用选项

  • -n:不解析服务名称
  • -a:显示所有socket
  • -l:显示监听状态的socket
  • -t:显示TCP socket
  • -u:显示UDP socket
  • -p:显示使用socket的进程
  • -s:显示socket使用概况
  • -4:仅显示IPv4
  • -6:仅显示IPv6
  • -i:显示TCP内部信息

# 输出字段说明

  1. State

    • LISTEN:监听状态
    • ESTABLISHED:已建立连接
    • TIME-WAIT:等待关闭
    • CLOSE-WAIT:等待关闭
    • SYN-SENT:发送同步
    • SYN-RECV:接收同步
  2. Recv-Q/Send-Q

    • Recv-Q:接收队列大小
    • Send-Q:发送队列大小
  3. Local/Peer Address

    • Local Address:本地地址和端口
    • Peer Address:远程地址和端口

# 使用示例

# 显示所有TCP连接
ss -t -a

# 显示所有监听端口
ss -l

# 显示所有已建立的连接
ss state established

# 显示特定端口的连接
ss -t dst :80

# 显示统计信息
ss -s

# 显示进程信息
ss -p

# 最佳实践

  1. 网络监控

    • 监控网络连接状态
    • 检查端口占用情况
    • 分析网络流量
  2. 故障排查

    • 诊断网络连接问题
    • 检查异常连接
    • 分析连接队列
  3. 安全审计

    • 检查可疑连接
    • 监控网络活动
    • 审计网络使用

# 注意事项

  • 注意连接状态变化
  • 关注队列大小异常
  • 定期检查统计信息
  • 结合其他网络工具使用
  • 注意权限要求