Carry の Blog Carry の Blog
首页
  • Nginx
  • Prometheus
  • Iptables
  • Systemd
  • Firewalld
  • Docker
  • Sshd
  • DBA工作笔记
  • MySQL
  • Redis
  • TiDB
  • Elasticsearch
  • Python
  • Shell
  • MySQL8-SOP手册
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carry の Blog

好记性不如烂键盘
首页
  • Nginx
  • Prometheus
  • Iptables
  • Systemd
  • Firewalld
  • Docker
  • Sshd
  • DBA工作笔记
  • MySQL
  • Redis
  • TiDB
  • Elasticsearch
  • Python
  • Shell
  • MySQL8-SOP手册
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 工作笔记

    • 实用linux命令-nc
    • 实用linux命令-lsof
    • 实用linux命令-ss
    • Bash 备忘清单
    • Ansible 备忘清单
    • linux 文件的权限和属性
    • GPT分区使用 `parted` 扩展分区的操作流程
    • 实用linux命令-sed
    • VSCode快捷键备忘录
  • K8S

  • Systemd

  • Nginx

  • Supervisord

  • OpenLdap

  • OpenVPN

  • GitLab

  • Sshd

  • WebDev

  • Docker

  • Prometheus

  • Rclone

  • Iptables

  • Firewalld

  • Linux笔记
  • 工作笔记
Carry の Blog
2025-03-30

实用linux命令-ss

ss命令简介

ss(Socket Statistics)是一个用于显示网络套接字信息的强大工具,它是netstat命令的现代替代品。ss命令速度更快,功能更强大,可以显示更多的网络连接信息。它能查看TCP、UDP、DCCP、RAW等类型的套接字连接。


ss常见用法

  1. 查看所有网络连接

    ss
    
    1

    说明:

    • 默认显示已建立的非监听TCP连接。
  2. 查看所有监听端口

    ss -l
    
    1

    说明:

    • -l选项显示所有处于监听状态的套接字。
  3. 查看TCP连接

    ss -t
    
    1

    说明:

    • -t选项只显示TCP连接。
    • 可以与-a组合使用:ss -ta显示所有TCP连接(包括监听状态)。
  4. 查看UDP连接

    ss -u
    
    1

    说明:

    • -u选项只显示UDP连接。
    • 可以与-a组合使用:ss -ua显示所有UDP连接。
  5. 查看指定端口的连接

    ss -t src/dst :<端口号>
    
    1

    说明:

    • src表示源端口,dst表示目标端口。
    • 例如:ss -t dst :80显示目标端口为80的所有TCP连接。
  6. 显示进程信息

    ss -p
    
    1

    说明:

    • -p选项显示使用套接字的进程信息。
    • 需要root权限才能查看所有进程。

ss高级用法

  1. 按状态过滤连接

    ss state <状态> 
    
    1

    说明:

    • 常见状态包括:established、syn-sent、syn-recv、fin-wait-1等。
    • 例如:ss state established显示所有已建立的连接。
  2. 显示详细统计信息

    ss -i
    
    1

    说明:

    • -i选项显示TCP内部信息,如拥塞窗口、重传计数器等。
  3. 按地址过滤

    ss dst <IP地址>
    
    1

    说明:

    • 过滤特定目标IP地址的连接。
    • 例如:ss dst 192.168.1.1显示所有连接到该IP的套接字。
  4. 结合条件表达式

    ss -t '( dport = :http or dport = :https )'
    
    1

    说明:

    • 使用表达式组合多个条件,查找连接到HTTP或HTTPS端口的TCP连接。
  5. 查看内存使用情况

    ss -m
    
    1

    说明:

    • -m选项显示套接字的内存使用情况。
  6. 实时监控网络连接

    watch -n 1 'ss -t'
    
    1

    说明:

    • 每秒刷新一次,实时监控TCP连接状态。

ss与netstat的比较

  1. 性能优势

    • ss命令直接从内核空间获取信息,速度比netstat快很多。
    • 在有大量连接的系统上,ss的优势尤为明显。
  2. 功能对比

    • ss提供更多的过滤选项和更详细的连接信息。
    • ss可以显示更多的TCP状态信息,如TCP内部队列。
  3. 语法差异

    • netstat: netstat -tuln(显示所有监听的TCP和UDP端口)
    • ss: ss -tuln(相同功能,但速度更快)

ss注意事项

  1. 权限要求

    • 查看所有连接的详细信息(特别是与进程相关的信息)需要root权限。
  2. 输出格式

    • 默认输出可能较为紧凑,可使用-r选项解析主机名,使输出更易读。
  3. 与其他工具配合

    • 可与grep、awk等命令结合使用,进一步过滤和处理输出结果。
    ss -t | grep ESTAB | wc -l  # 统计已建立的TCP连接数
    
    1

上次更新: 4/24/2025

← 实用linux命令-lsof Bash 备忘清单→

最近更新
01
tidb fast ddl
04-04
02
TiDB配置文件调优 原创
04-03
03
如何移除TiDB中的表分区 原创
04-03
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式