1. 简介

ss 使用 netlink 与内核 tcp_diag 模块通信获取 socket 信息,用法和输出结果类似于 netstat 命令

语法格式如下

ss [options] [ FILTER ]

选项说明

选项 说明
-t tcp 协议相关
-u udp 协议相关
-w 裸套接字相关
-x unix sock 相关
-l listen 状态的连接
-a 所有
-n 数字格式
-p 相关的程序及 PID
-e 扩展的信息
-m 内存用量
-o 计时器信息

FILTER 过滤器说明

FILTER := [ state TCP-STATE ] [ EXPRESSION ]

其中:

TCP-FILTER:表示 tcp 状态,常见的状态有established, syn-sent, syn-recv, fin-wait-1, fin-wait-2, time-wait, closed, close-wait, last-ack, listening and closing

EXPRESSION 表达式

  • dport =: 表示目标端口,也可以是协议名称

  • sport =: 表示源端口,也可以是协议名称

2. 示例

2.1 显示本端打开的所有端口

[root@centos ~]#ss -l|tail -n3
tcp LISTEN 0 5 0.0.0.0:rsync 0.0.0.0:*
tcp LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*
tcp LISTEN 0 100 127.0.0.1:smtp 0.0.0.0:*
[root@centos ~]#

2.2 显示每个进程具体打开的 socket

[root@centos ~]#ss -pl|tail -n1
tcp LISTEN 0 5 0.0.0.0:rsync 0.0.0.0:* users:(("rsync",pid=1780,fd=3))

2.3 显示所有 TCP Socket

[root@centos ~]#ss -ta
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 5 0.0.0.0:rsync 0.0.0.0:*
LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*
LISTEN 0 100 127.0.0.1:smtp 0.0.0.0:*
ESTAB 0 0 172.18.0.38:ssh 172.18.0.40:49707
LISTEN 0 5 [::]:rsync [::]:*
LISTEN 0 128 [::]:ssh [::]:*
LISTEN 0 100 [::1]:smtp [::]:*
[root@centos ~]#

2.4 显示所有 UDP Socket

[root@centos ~]#ss -ua
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 172.18.0.38%enp0s3:bootpc 172.18.0.1:bootps
[root@centos ~]#

2.5 显示所有已建立的 ssh 连接

[root@centos ~]#ss -o state established '( dport = :ssh or sport = :ssh )'
Netid Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp 0 0 172.18.0.38:ssh 172.18.0.40:49707 timer:(keepalive,87min,0)
[root@centos ~]#

2.6 显示所有已建立的 HTTP 连接

[root@centos ~]#ss -o state established '( dport = :http or sport = :http )'
Netid Recv-Q Send-Q Local Address:Port Peer Address:Port
[root@centos ~]#

2.7 列出当前 socket 详细信息(生产中常用)

[root@centos ~]#ss -s
Total: 213
TCP: 7 (estab 1, closed 0, orphaned 0, timewait 0) Transport Total IP IPv6
RAW 1 0 1
UDP 1 1 0
TCP 7 4 3
INET 9 5 4
FRAG 0 0 0 [root@centos ~]#

ss 命令简介的更多相关文章

  1. ss命令和Recv-Q和Send-Q状态

    ss 用来显示处于活动状态的套接字信息.ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比nets ...

  2. 每天一个linux命令(57):ss命令

    ss是Socket Statistics​的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的 ...

  3. SS命令和Netstat命令比较

    在早期运维工作中,查看服务器连接数一般都会用netstat命令.其实,有一个命令比netstat更高效,那就是ss(Socket Statistics)命令!ss命令可以用来获取socket统计信息, ...

  4. ss命令

    看到好的博文,所以记录一下.本文出自转载. ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它 ...

  5. Linux网络状态工具ss命令使用详解

    ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix dom ...

  6. 每天一个linux命令(49):ss命令

    ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信 ...

  7. 每天一个linux命令day2【ss命令】

    ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信 ...

  8. ss命令使用示例

    导读 ss是Socket Statistics的缩写,可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比n ...

  9. linux包之iproute之ss命令

    概述 [root@localhost ~]# rpm -qa|grep iprouteiproute-2.6.32-31.el6.x86_64 当服务器的socket连接数量变得非常大时,无论是使用n ...

随机推荐

  1. Transporter iOS App

    Transporter iOS App apple store app store connect https://appstoreconnect.apple.com/ Transporter &am ...

  2. CSS Layout All In One

    CSS Layout All In One CSS2 position float % px , rem, em CSS3 flex grid multi column vw / vh 常见布局模式 ...

  3. py conda 换源

    安装软件 $ conda install wxpython 如果出现http错误,安装OpenSSL $ conda config --add channels https://mirrors.tun ...

  4. Flutter: provider 使用小部件的小部件构建的依赖注入系统

    文档 dependencies: provider: import 'package:dart_printf/dart_printf.dart'; import 'package:flutter/ma ...

  5. 【springboot读取配置文件】@ConfigurationProperties、@PropertySource和@Value

    概念: @ConfigurationProperties : 是springboot的注解,用于把主配置文件中配置属性设置到对于的Bean属性上 @PropertySource :是spring的注解 ...

  6. 死磕以太坊源码分析之EVM固定长度数据类型表示

    死磕以太坊源码分析之EVM固定长度数据类型表示 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家交流学习 ...

  7. Spring注解@PropertySource加载配置文件和SpringBoot注解@Value、@ConfigurationProperties进行属性映射

    SpringBoot的配置文件 位置:resources目录下 配置文件的作用: (1).SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用a ...

  8. Java基本概念:异常

    一.简介 描述: 异常(Exception)指不期而至的各种状况,异常发生的原因有很多,通常包含以下几大类: 用户输入了非法数据. 要打开的文件不存在. 网络通信时连接中断,或者JVM内存溢出. 异常 ...

  9. DOS打开方式

    一.CMD窗口 Ⅰ.普通身份 按下键盘组合键:Windows + R --> 出现'运行'窗口,在'打开'的输入框中输入'cmd' --> 点击确定 打开'开始'菜单 --> 找到' ...

  10. Reactive Spring实战 -- 理解Reactor的设计与实现

    Reactor是Spring提供的非阻塞式响应式编程框架,实现了Reactive Streams规范. 它提供了可组合的异步序列API,例如Flux(用于[N]个元素)和Mono(用于[0 | 1]个 ...