ss命令和netstat类似,用来显示socket统计信息。能够列出PACKET sockets、TCP sockets、 UDP sockets、DCCP sockets、RAW sockets、Unix域名sockets等统计信息。支持像netstat命令一样显示。和其他工具相比,ss能够显示更多的TCP和描述信息。作为一个非常有用快捷的跟踪TCP连接和套接字的工具。ss提供如下信息:

所有的TCP套接字。

所有的UDP套接字。

所有建立连接的如:ssh / ftp / http / https 的连接信息。

所有连接到X sever的本地进程。

过滤类似状态(connected, synchronized, SYN-RECV, SYN-SENT,TIME-WAIT)。地址和端口。

所有TCP套接字如FIN-WAIT-1等。

大多数linux发行版本包含了ss及其它一些监控工具,帮助你理解系统sockets在做什么,及找到可能导致性能问题的原因。

示例: 显示 Sockets 摘要

列出当前的established, closed, orphaned and waiting TCP sockets:

# ss -s

Total: 734 (kernel 904)

TCP:   1415 (estab 112, closed 1259, orphaned 11, synrecv 0, timewait 1258/0), ports 566

Transport Total     IP        IPv6

*     904       -         -

RAW   0         0         0

UDP   15        12        3

TCP   156       134       22

INET      171       146       25

FRAG      0         0         0

示例: 列出所有打开的网络连接端口

# ss -l

Recv-Q Send-Q                                             Local Address:Port                                                 Peer Address:Port    0      0                                                              *:ndmp                                                            *:*        0      0                                                  192.168.122.1:domain                                                          *:*        0      0                                                              *:ssh                                                             *:*        0      0                                                             :::ssh                                                            :::*

通过以下命令查看进程使用的socket:

# ss -pl

找出谁负责打开套接字/端口#4949:

# ss -lp | grep 4949

0      0                            *:4949                          *:*        users:(("munin-node",3772,5))

munin-node (PID # 3772) is responsible for opening port # 4949. You can get more information about this process (like memory used, users, current working directory and so on) visiting /proc/3772 directory:

# cd /proc/3772

# ls -l

示例:显示所有TCP Sockets

# ss -t -a

示例:显示所有UDP Sockets

# ss -u -a

示例: 显示所有状态为established的SMTP连接

# ss -o state established '(dport= :smtp orsport= :smtp )'

示例: 显示所有状态为Established的HTTP连接

# ss -o state established '(dport= :http orsport= :http )'

示例: 查找本地所有连接到的进程 X Server

# ss -x src /tmp/.X11-unix/*

示例:列出所有状态为FIN-WAIT-1的Tcp Sockets

# ss -o state fin-wait-1 '(sport= :http orsport= :https )' dst 202.54.1/24

怎样用TCP 状态过滤Sockets?

使用以下参数:

## tcp ipv4 ##

ss -4 state FILTER-NAME-HERE

## tcp ipv6 ##

ss -6 state FILTER-NAME-HERE

FILTER-NAME-HERE 可以代表以下任何一个,

established

syn-sent

syn-recv

fin-wait-1

fin-wait-2

time-wait

closed

close-wait

last-ack

listen

closing

all : 所有以上状态

connected : 除了listen and closed的所有状态

synchronized :所有已连接的状态除了syn-sent

bucket : 显示状态为maintained as minisockets,如:time-wait和syn-recv.

big : 和bucket相反.

例子:

输入以下命令查看closing sockets:

#ss -4 state closing

Recv-Q Send-Q                                                  Local Address:Port                                                      Peer Address:Port

1      11094                                                  75.126.153.214:http                                                      175.44.24.85:4669

怎样匹配远程地址和端口号?

使用以下参数:

#ss dst ADDRESS_PATTERN

## 显示所有连接到远程服务器192.168.1.5的端口##

#ss dst 192.168.1.5

## show all ports connected from remote 192.168.1.5:http port##

#ss dst 192.168.1.5:http

#ss dst 192.168.1.5:smtp

#ss dst 192.168.1.5:443

Find out connection made by remote 123.1.2.100:http to our local virtual servers:

# ss dst 123.1.2.100:http

State      Recv-Q Send-Q                                             Local Address:Port                                                 Peer Address:Port

ESTAB      0      0                                                 75.126.153.206:http                                               123.1.2.100:35710

ESTAB      0      0                                                 75.126.153.206:http                                               123.1.2.100:35758

怎样匹配本地地址和端口号?

#ss src ADDRESS_PATTERN

### find out all ips connected to nixcraft.com ip address 75.126.153.214 ###

## Show all ports connected to local 75.126.153.214##

#ss src 75.126.153.214

## http (80) port only ##

#ss src 75.126.153.214:http

#ss src 75.126.153.214:80

## smtp (25) port only ##

#ss src 75.126.153.214:smtp

#ss src 75.126.153.214:25

怎样将本地或者远程端口和一个数比较?

使用以下参数:

## 远程端口和一个数比较##

ss dport OP PORT

##本地端口和一个数比较 ##

sport OP PORT

OP 可以代表以下任意一个:

<= or le : 小于或等于端口号

>= or ge : 大于或等于端口号

== or eq : 等于端口号

!= or ne : 不等于端口号

< or gt : 小于端口号

> or lt : 大于端口号

注意: le, gt, eq, ne etc. are use in unix shell and are accepted as well.

例子:

###################################################################################

### 注意字符问题 ###

###################################################################################

#sssport= :http

#ss  dport= :http

#ss  dport \>:1024

#ss  sport \>:1024

#ss sport \<:32000>

#ss  sport eq :22

#ss  dport != :22

#ss  state connected sport= :http

#ss \( sport= :http orsport= :https \)

#ss -o state fin-wait-1 \( sport= :http orsport= :https \) dst 192.168.1/24

ss 和 netstat 效率对比

用time 命令分别获取通过netstat和ss命令获取程序和概要占用资源所使用的时间:

# time netstat -at

Sample outputs:

real    2m52.254s

user    0m0.178s

sys 0m0.170s

Now, try the ss command:

# time ss

Sample outputs:

real    2m11.102s

user    0m0.124s

sys 0m0.068s

linux系统ss命令详解,linux 下 ss命令详解相关推荐

  1. 一文带你学会linux系统 史上最全linux命令大全

    一文带你学会linux系统 史上最全linux命令大全 文章目录 linux系统简介 linux命令 1.启动网络命令 2.pwd命令 2.ls命令 3.cd命令 4.mkdir命令 5.rmdir命 ...

  2. 超简单超详细-Linux系统的使用 基础篇(下)

    Linux系统命令学习笔记: 上部. Linux系统命令学习笔记: 下部. 组管理 文件/目录 所有者 查看文件所有者 修改文件所有者 修改文件所在组 其他组概念 权限管理 权限介绍 rwx权限详解 ...

  3. 红帽linux系统备份指令,redhat Linux系统tar、gzip、zip等压缩命令

    redhat Linux系统tar.gzip.zip等压缩命令 [gzip/gunzip] gzip是压缩命令,对应的gunzip是解压命令,使用时很简单,如下: gzip file1执行压缩,压缩后 ...

  4. Linux系统编程及应用——ubuntu环境下

    Linux系统编程及应用--ubuntu环境下 程序由业务逻辑和系统访问两部分构成的.其中,业务逻辑是根据业务需求,按照设计好的逻辑规则,处理信息,与系统(平台)无关的:而系统访问则是利用操作系统所提 ...

  5. 查看linux系统版本,内核,CPU,MEM,位数的相关命令

    查看linux系统版本,内核,CPU,MEM,位数的相关命令 1.查看版本,内核 cat /etc/issue cat /proc/version uname -r 2.查看cpu,mem grep ...

  6. linux前一个的输出作为后一个参数,将Linux命令的结果作为下一个命令的参数

    查询所有的pid并杀死. jps -l | grep bdcsc2-native-demo | awk '{print $1}' | xargs kill -9 KISS:keep it short ...

  7. 第二节 红帽认证培训 部署虚拟环境安装LInux系统+新手必须掌握的Linux命令(讲到2.3)

    第二节 红帽认证培训 部署虚拟环境安装LInux系统+新手必须掌握的Linux命令(讲到2.3) 2021年4月3日 晚19点课程笔记 笔记目录 一.部署虚拟环境安装Linux系统 二.新手必须掌握的 ...

  8. 在Windows和Linux系统中,有以下常用的磁盘修复命令

    在Windows和Linux系统中,有以下常用的磁盘修复命令: Windows系统: 1. CHKDSK命令:检查磁盘上的文件系统错误,并对损坏的扇区进行恢复.格式:CHKDSK [驱动器:] [参数 ...

  9. linux系统连接校园无线网卡,RedHat Linux系统能不能连接无线网 如何安装无线网卡驱动 - 驱动管家...

    想要使用RedHat Linux系统实现无线上网,就要先安装无线网卡驱动,这是在任何一个操作系统中不变的真理.那么RedHat Linux系统如何安装无线网卡驱动呢? 输入命令lsusb,可以看到US ...

  10. 一站式:虚拟机安装Linux系统(CentOS_7),多节点Linux环境打造,XShell的使用

    目录 01.Linux环境装在哪 02.虚拟机的下载与安装:Vmware 2.1.Vmware下载 2.2.Vmware安装 03.CentOS镜像下载 3.1.CentOS介绍(了解) 3.2.Ce ...

最新文章

  1. Python调用外部程序——os.system()和subprocess.call()
  2. 在Ubuntu上下载、编译和安装Android 4.2 最新内核源代码(Linux Kernel)
  3. Python数据结构——序列总结
  4. 2-2 内建变量类型
  5. matlab-lsqcurvefit函数
  6. android gps free,GPS HUD Speedometer Free
  7. 嵌入式设计 | 基于51单片机的tea5767收音机设计实操教程
  8. 光耦参数理解(转载)
  9. Java虚拟机启动整体流程和基础学习(内容很多,不可快餐阅读),推理+源码论证
  10. C语言arduino密码锁实验报告,简易密码锁的制作-Arduino中文社区 - Powered by Discuz!...
  11. 微软服务器是永久授权的吗,微软再次针对Office永久授权版套件提价10% 将在10月1日起生效...
  12. 酷狗导致django8000端口占用
  13. jeesite代码生成器的使用(初学者)
  14. SpringBoot 优雅地对接口进行数据加解密
  15. 透过“最牛”年报,聊聊优然牧业的“最佳养牛模式”
  16. mysql 为表添加索引
  17. Leetcode:Singel Number
  18. 腾讯小程序服务器忙,使用腾讯云助手小程序管理腾讯云服务器
  19. ApiCloud使用小结图文示例-简单的认识
  20. logging level级别

热门文章

  1. 双IP双线路实现方式 先来说说双线单IP和双线双IP的区别
  2. Verilog 参数化位宽转换设计实例
  3. 如何判断股市能否持续上涨?
  4. trajan 算法 离线求lca 超详细讲解~~~~ 保证一看就懂~~~
  5. 推荐系统本质与网易严选实践
  6. ISP封了80和8080端口
  7. xp系统开机自检很久_xp系统电脑开机硬盘自检时间很长如何处理
  8. 做微信公众号淘宝客返利系统必须要知道3件事儿
  9. 集线器和交换机的区别
  10. 移动硬盘打不开怎么办?