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. shit 牛客网

    shit 牛客网 为什么,只可以 log 一次,什么垃圾逻辑呀! https://www.nowcoder.com/test/question/e46437833ddc4c5bb79f7af7a1b7 ...

  2. js & bitwise-operators

    js & bitwise-operators 不用加减乘除运算符, 求整数的7倍 "use strict"; /** * * @author xgqfrms * @lice ...

  3. WebView & iframe

    WebView & iframe https://developer.android.com/reference/android/webkit/WebView.html Web-based c ...

  4. lerna

    lerna A tool for managing JavaScript projects with multiple packages. https://lerna.js.org/ https:// ...

  5. 开发Microsoft Teams选项卡应用安全注意事项

    我们都知道,为了方便广大的开发人员快速开发Microsoft Teams选项卡应用,微软提供了一个JS SDK,你可以通过这里 https://docs.microsoft.com/en-us/jav ...

  6. 一款基于 Web 的通用数据管理工具(转载)

    一款基于 WEB 的通用数据管控工具 - CloudQuery 前言 前段时间,公司因为业务发展,数据量攀升,老板迫切需要一个工具对数据进行精细化管理,一是确实需要精细化管理:二是因为我们公司小,数据 ...

  7. 开源OA办公平台搭建教程:O2OA+Arduino实现物联网应用(一)

    O2OA平台是一个企业办公类系统的低代码开发平台,更够方便的开发和部署协同办公.流程管理等应用,但它能做的远不止这些,今天这个案例就为大家介绍一下,O2OA可以做的更多. 最近对养鱼产生了浓厚的兴趣, ...

  8. vscode好用插件总结

    做个记录:https://blog.csdn.net/xishining/article/details/90819481 1.Auto Rename Tag --自动重命名成对的HTML标记.假如你 ...

  9. Dubbo之高级特性

    Dubbo 注意当启动服务时,该服务会占用本机一个端口号,故在一台电脑启动多个服务时需要在配置文件中更占用本机的端口号 <!--服务占用本机的端口-当本机启动多个服务时须保持不同--> & ...

  10. 聊聊Dotnet的垃圾回收

    最近在做一个项目,用到了大量的非托管技术,所以垃圾回收变得很重要.   在说垃圾回收之前,先说说两个概念: 托管代码,是由CLR管理的代码 非托管代码,是由操作系统直接执行的代码 在早期C++的时候, ...