今天我们来介绍一下 Linux ss 命令。

ss是 Socket Statistics 的缩写,用来统计 socket 连接的相关信息,它跟 netstat 差不多,但有着比 netstat 更强大的统计功能,能够显示更多更详细的连接信息。
刚开始接触 ss 命令可能会比较困难,我们可通过 ss -h或者 ss -help来详细学习 ss 的选项功能。当然,最好的办法是直接尝试一些常用的命令来学习 ss 。
下面我们来了解一下 ss 的一些实用用法。
ss -s是一个非常有用的命令。它可以按网络传输类型显示总体统计信息,我们不妨来测试一下:
$ ss -s
Total: 524
TCP:   8 (estab 1, closed 0, orphaned 0, timewait 0)Transport Total     IP        IPv6
RAW       2         1         1
UDP       7         5         2
TCP       8         6         2
INET      17        12        5
FRAG      0         0         0
  • RAW Socket 原始套接字。允许直接发送和接收 IP 数据包,无需满足特定的传输协议,用于 namp 等安全应用。

  • TCP 传输控制协议。是我们网络连接当中的主要连接协议。

  • UDP 用户数据报协议。类似于 TCP 但没有错误检查。

  • INET 包含上述项。( INET4 和 INET6 可以通过一些 ss 命令单独查看)。

  • FRAG 可以理解为碎片的意思。

显然,上面的输出结果并没有直接显示详细的 socket 连接情况,我们可以看到最上面的 Total行显示的 socket 总数是非常多的,不过,这种分类统计的方式在某些情况下很有用。
如果想要查看具体的 socket 活动信息,我们可以使用 ss -a命令,但是我们要做好心理准备查看一大堆的信息,我们可以先用 wc -l来统计一下行数试探一波:
$ ss -a | wc -l
555
有木有被吓到?555 行数据!
不过不必惊慌,我们可以查看指定类别的 socket 活动。
  • ss -ta 转储所有 TCP socket

  • ss -ua 转储所有 UDP socket

  • ss -wa 转储所有 RAW socket

  • ss -xa 转储所有 UNIX socket

  • ss -4a 转储所有 IPV4 socket

  • ss -6a 转储所有 IPV6 socket

不带参数的 ss 命令会显示所有已经建立的 socket 连接。为了方便阅读,这里只显示一页的信息,省略其他大部分信息:
$ ss | more
Netid  State Recv-Q Send-Q           Local Address:Port    Peer Address:Port
u_str  ESTAB 0      0                            * 20863              * 20864
u_str  ESTAB 0      0                            * 32232              * 33018
u_str  ESTAB 0      0                            * 33147              * 3257544ddddy
u_str  ESTAB 0      0            /run/user/121/bus 32796              * 32795
u_str  ESTAB 0      0            /run/user/121/bus 32574              * 32573
u_str  ESTAB 0      0                            * 32782              * 32783
u_str  ESTAB 0      0  /run/systemd/journal/stdout 19091              * 18113
u_str  ESTAB 0      0                            * 769568             * 768429
u_str  ESTAB 0      0                            * 32560              * 32561
u_str  ESTAB 0      0          @/tmp/dbus-8xbBdjNe 33155              * 33154
u_str  ESTAB 0      0  /run/systemd/journal/stdout 32783              * 32782
…
tcp    ESTAB 0     64                 192.168.0.16:ssh      192.168.0.6:25944
tcp    ESTAB 0      0                 192.168.0.16:ssh      192.168.0.6:5385
要查看刚建立的 TCP 连接,使用 ss -t
$ ss -t
State    Recv-Q   Send-Q      Local Address:Port            Peer Address:Port
ESTAB    0        64           192.168.0.16:ssh              192.168.0.6:25944
ESTAB    0        0            192.168.0.16:ssh              192.168.0.9:5385
要仅显示监听 socket ,尝试 ss -lt
$ ss -lt
State   Recv-Q   Send-Q      Local Address:Port             Peer Address:Port
LISTEN  0        10              127.0.0.1:submission            0.0.0.0:*
LISTEN  0        128         127.0.0.53%lo:domain                0.0.0.0:*
LISTEN  0        128               0.0.0.0:ssh                   0.0.0.0:*
LISTEN  0        5               127.0.0.1:ipp                   0.0.0.0:*
LISTEN  0        10              127.0.0.1:smtp                  0.0.0.0:*
LISTEN  0        128                  [::]:ssh                      [::]:*
LISTEN  0        5                   [::1]:ipp                      [::]:*
若你想要显示端口号而不是服务名,则 ss -ltn
$ ss -ltn
State    Recv-Q    Send-Q        Local Address:Port        Peer Address:Port
LISTEN   0         10                127.0.0.1:587              0.0.0.0:*
LISTEN   0         128           127.0.0.53%lo:53               0.0.0.0:*
LISTEN   0         128                 0.0.0.0:22               0.0.0.0:*
LISTEN   0         5                 127.0.0.1:631              0.0.0.0:*
LISTEN   0         10                127.0.0.1:25               0.0.0.0:*
LISTEN   0         128                    [::]:22                  [::]:*
LISTEN   0         5                     [::1]:631                 [::]:*
这里就先介绍这么多,其他的详细内容请参考帮助手册( ss -h)。
另外,这里提供一些小技巧,你可以将那些最有用的选项转换为别名,能让你更容易使用。例如:
$ alias listen="ss -lt"
$ alias socksum="ss -s"

后台回复“加群”,带你进入高手如云交流群。如果你喜欢本文,不妨分享给你喜欢的朋友读,或者点下右下角的“在看”,谢谢了!

推荐阅读:

聊聊几种主流Docker网络的实现原理

漫话:如何给女朋友解释什么是CDN?

到底什么是CDN?一文看懂

喜欢,就给我一个“在看”


10T 技术资源大放送!包括但不限于:云计算、虚拟化、微服务、大数据、网络、Linux、Docker、Kubernetes、Python、Go、C/C++、Shell、PPT 等。在公众号内回复「1024」,即可免费获取!!

网络检测神器 ss 命令,你可能根本就不会用!相关推荐

  1. LINUX网络状态工具SS命令使用详解

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

  2. Linux网络状态工具ss命令操作详解

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

  3. 监听队列中linux方法ss -a,Linux命令:ss命令

    ss功能:用来显示套接字信息的,类似于netstat,可以显示更多的信息,用于替代netstat. ss常用选项 ss -t:tcp协议的连接 -u:udp协议的链接 -w:裸套接字相关 -x:uni ...

  4. 刷新mac地址命令_常用网络检测命令-必备技术

    现在弱电行业工作,设备基本上普遍是使用网络连接,因此具有一定网络检测命令知识,这时通过使用一些网络的基本命令来检测设备的网络状态.以下,介绍常用网络命令: 1.ping命令 ping 命令式用来测试T ...

  5. 检测网络是否稳定的计算机命令,电脑中常用的网络检测命令|电脑中检测网络是否存在故障的几条命令...

    ‍ 通常情况下,我们使用电脑的同时要求电脑要连接网络,而网络出现问题导致无法上网也是常见的现象.了解一些电脑中常用的网络检测命令有助于我们排查网络故障.在接下来的内容中,系统城要介绍几条检测电脑网络是 ...

  6. ss命令Linux网络状态工具

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

  7. linux 的ss看进程号,linux ss命令详解

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

  8. 硬盘mdr转换成gdp linux,Linux 命令学习神器!命令看不懂直接给你解释!

    原标题:Linux 命令学习神器!命令看不懂直接给你解释! 转自: 良许Linux 大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件 ...

  9. Linux网络属性配置相关命令

    Linux网络属性配置相关命令: 前言: Linux属性配置可以分为两类.一类通过命令配置,另一类通过修改配置文件配置. Linux属性配置的相关命令可以分为三大类: 一.ifcfg命令家族:①ifc ...

最新文章

  1. How to Visualize Your Recurrent Neural Network with Attention in Keras
  2. Go语言参数校验(go-playground / validator)
  3. Android之SwipeRefreshLayout嵌套RecyclerView遇到的坑
  4. C---编写程序:求出1~1000之间能被7或12整除,但不能同时被二者整除的所有整数,将结果保存在数组中,要求程序数据的输入、计算和输出均使用函数实现。
  5. 1.7 编程基础之字符串 25 最长最短单词 python
  6. EOSIO:EOSIO最新版1.4.0 钱包开发环境搭建
  7. Dubbo学习总结(7)——Dubbo不常用功能总结
  8. 爬虫运行成功但没数据_我整来了几台服务器,就是为了给你演示一下分布式爬虫的整个过程...
  9. windows创建任务计划(周期执行bat脚本)
  10. 解决Boost库链接出错问题
  11. 单场淘汰制场次计算方法_淘汰赛、单循环赛和双循环赛的计算方法分别是什么?...
  12. 思岚rplidar A1激光点云数据读取
  13. 车间调度建模系列7|扩展析取图之基于设备偏好的三维析取图模型
  14. DeepFool论文解读
  15. ABOUTCG发布特效之王 Houdini基础教程
  16. java 生成der_java – 我们如何将字符串从PEM转换为DER格式
  17. 基于非结构网格的仿真——太湖之光上的巨大挑战
  18. 为什么很少人用redmine_为什么古代书法家要把字写歪?
  19. 浅析Saas、PaaS、laas、Caas、Daas服务理解总结
  20. 【转帖】Photoshop为长腿MM制作拼接效果的照片

热门文章

  1. IDA配置符号表路径
  2. UE4C++ 创建UI
  3. python语言只能以程序方式执行_Python语言程序设计
  4. 运动耳机哪个牌子耐用、公认结实耐用的运动耳机
  5. 我亲爱的Properties文件
  6. 全干货!百度AI快车道成都站开启报名
  7. 开关磁阻电机直流斩波双闭环控制
  8. Vue中关于父子组件之间的通信
  9. 大家对拉绳位移编码器的接线方式了解吗?小编来介绍
  10. java 以管理员执行cmd_java – 以管理员身份运行命令提示符