SS命令使用介绍
ss
一. 命令介绍
先使用手册查看命令介绍信息
NAME
ss - another utility to investigate sockets
DESCRIPTION
ss is used to dump socket statistics. It allows showing information similar
to netstat. It can display more TCP and state informations than other tools.
ss(Socket Statistics)命令主要功能是显示套接字信息。与netstat命令的使用十分的相似,都是用于显示套接字信息,而ss命令的优势在于它能够显示更多TCP和连接状态的详情信息,并且速度更快更高效。
二. 语法格式
ss的语法格式是:ss 【参数】【过滤器】
SYNOPSIS
ss [options] [ FILTER ]
三. 基本参数
命令的基本参数有以下这些,参数会比较多,当然也可以说明这个命令的用法会挺丰富的。
-n | 不解析域名 |
-a | 显示所有套接字 |
-l | 显示处于监听状态的套接字 |
-o | 显示计时器信息 |
-e | 显示详细的套接字信息 |
-m | 显示socket的内存情况 |
-p | 显示使用套接字的过程 |
-i | 显示内部的TCP信息 |
-s | 显示socket使用情况 |
-4 | 显示ipv4的套接字信息 |
-6 | 显示ipv6的套接字信息 |
-0 | 显示PACKET套接字信息 |
-t | 显示TCP的套接字信息 |
-u | 显示UDP套接字信息 |
-d | 显示DCCP套接字信息 |
-w | 显示RAW套接字信息 |
-D | 将原始TCP套接字信息转储到文件 |
-r | 解析IP和端口号 |
四. 各列所代表的含义
Netid 网络标识符
State 每个服务的连接状态
Recv-Q 接收socket(套接字)队列中的数据量,以字节为单位
Send-Q 发送socket(套接字)队列中的数据量,以字节为单位
Local Address 运行本地的计算机地址
Port 服务端口
Peer Address 对等端口
五. 参考实例
1.列出已建立的连接
默认情况,只使用ss命令,不加任何参数的情况下,它会显示所有已建立连接的套接字列表信息
[root@localhost ~]# ss |wc -l
716
[root@localhost ~]# ss | head -n 3
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
u_str ESTAB 0 0 * 37084 * 37928
u_str ESTAB 0 0 * 36812 * 36814
2.监听TCP协议的套接字信息
可以使用-l参数监听所有tcp协议的套接字内容
<pre>[root@localhost ~]# ss -lt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 127.0.0.1:smtp *:*
LISTEN 0 128 *:sunrpc *:*
LISTEN 0 5 192.168.122.1:domain *:*
LISTEN 0 128 *:ssh *:*
LISTEN 0 128 127.0.0.1:ipp *:*
LISTEN 0 100 [::1]:smtp [::]:*
LISTEN 0 128 [::]:sunrpc [::]:*
LISTEN 0 128 [::]:ssh [::]:*
LISTEN 0 128 [::1]:ipp [::]:*
3. 查看主机监听的端口
-n表示不解析域名,显示的是IP+端口的格式
[root@localhost ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:111 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:631 *:*
4. 显示在运行进程的信息
需要使用到-p的参数,结合-tl是显示tcp协议的服务并且处于监听状态下的信息
[root@localhost ~]# ss -tlp |head -10
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 127.0.0.1:smtp *:* users:(("master",pid=1284,fd=13))
LISTEN 0 128 *:sunrpc *:* users:(("rpcbind",pid=704,fd=8))
LISTEN 0 5 192.168.122.1:domain *:* users:(("dnsmasq",pid=1533,fd=6))
LISTEN 0 128 *:ssh *:* users:(("sshd",pid=1176,fd=3))
LISTEN 0 128 127.0.0.1:ipp *:* users:(("cupsd",pid=1168,fd=11))
LISTEN 0 100 [::1]:smtp [::]:* users:(("master",pid=1284,fd=14))
可以看到在最后一列会显示进程的名称、PID、fd文件描述符等信息。
还可通过grep过滤信息来获取想知道的服务信息
[root@localhost ~]# ss -ltp | grep ssh
LISTEN 0 128 *:ssh *:* users:(("sshd",pid=1176,fd=3))
LISTEN 0 128 [::]:ssh [::]:* users:(("sshd",pid=1176,fd=4))
5. 显示所有已经建立的信息
需要使用-a参数,表示显示所有的连接信息
[root@localhost ~]# ss -a | wc -l
963
[root@localhost ~]# ss | wc -l
716
1
2
3
4
因为信息太多,这里就不列出了,可以看下显示所有与默认的情况下,会多出来比较多行信息。
还可以在加上-t -n参数使用
[root@localhost ~]# ss -ant
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:111 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:631 *:*
ESTAB 0 0 192.168.157.166:22 192.168.157.213:65011
LISTEN 0 100 [::1]:25 [::]:*
LISTEN 0 128 [::]:111 [::]:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 128 [::1]:631 [::]:*
6. 显示服务更多的信息
如显示-o时间信息、-m显示套接字使用的内容、-i显示内部tcp的信息
[root@localhost ~]# ss -imo | head -2
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
u_str ESTAB 0 0 * 37084 * 37928 skmem:(r0,rb212992,t0,tb212992,f0,w0,o0,bl0,d0)
7. 显示套接字的使用信息
显示使用信息需要用到-s的参数
[root@localhost ~]# ss -s
Total: 1711 (kernel 2055)
TCP: 11 (estab 1, closed 1, orphaned 0, synrecv 0, timewait 0/0), ports 0Transport Total IP IPv6
* 2055 - -
RAW 1 0 1
UDP 11 8 3
TCP 10 6 4
INET 22 14 8
FRAG 0 0 0
8. 显示IPv4的信息
需要使用-4的参数,在后面跟上要过滤的信息,这里只显示正在监听的服务。
[root@localhost ~]# ss -4 state listening
Netid Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp 0 100 127.0.0.1:smtp *:*
tcp 0 128 *:sunrpc *:*
tcp 0 5 192.168.122.1:domain *:*
tcp 0 128 *:ssh *:*
tcp 0 128 127.0.0.1:ipp *:*
若要显示IPv6的可以使用-6的参数
[root@localhost ~]# ss -6 state listening
Netid Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp 0 100 [::1]:smtp [::]:*
tcp 0 128 [::]:sunrpc [::]:*
tcp 0 128 [::]:ssh [::]:*
tcp 0 128 [::1]:ipp [::]:*
9. 匹配远程与本地地址和端口号
这里需要用到几种参数格式
分别是:
dst :过滤连接的目标地址
src: 过滤连接的本地地址
dport:目标端口
sport:来源端口
匹配远程地址和端口号
ss dst 192.168.157.33
ss dst 192.168.157.33:443
ss dst 192.168.157.33:http
1
2
3
匹配本地端口和端口号
ss src 192.168.157.166
ss src 192.168.157.166:22
ss src 192.168.157.166:ssh
1
2
3
9.1 当然还可以将本地与远程端口和一个数进行比较
使用方法:
ss dport OP num
ss sport OP num
1
2
以上文本中的OP可以使用以下这些内容
<= le 小于等于
== eq 等于
!= ne 不等于
> gt 大于
< lt 小于
是不是突然觉得表格中的符号这么熟悉,如果有学习过shell脚本的,应该一眼就能看出来符号代表的是什么意思。
下面继续来演示下如何使用:
显示来源端口小于50的端口号的内容
[root@localhost ~]# ss -ntul sport lt 50
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 100 127.0.0.1:25 *:*
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 100 [::1]:25 [::]:*
tcp LISTEN 0 128 [::]:22 [::]:*
1
2
3
4
5
6
如果要用符号,则需要在符号前面加上转义符。
[root@localhost ~]# ss -ntul sport \< 50
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 100 127.0.0.1:25 *:*
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 100 [::1]:25 [::]:*
tcp LISTEN 0 128 [::]:22 [::]:*
相关文章:

SS命令使用介绍
ss 一. 命令介绍 先使用手册查看命令介绍信息 NAME ss - another utility to investigate sockets DESCRIPTION ss is used to dump socket statistics. It allows showing information similar to netstat. It can display more TCP and state informations than other tools.…...

让你的对象变得拗口:JSON.stringify(),我把对象夹进了 JSON 魔法帽!
🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 引言 1. JSON.stringify() 属性 replacer …...

TDengine时序数据库学习使用
数据库要求: 1.目前服务器只能在linux运行,先安装服务器版本v1 2.下载与v1完全匹配的客户端版本v1(客户端与服务器的版本号不匹配可能访问不了服务器) 第一步 安装 安装服务器注意,安装教程: 使用安装…...

算法通过村第十三关-术数|青铜笔记|数字与数学
文章目录 前言数字统计专题符号统计阶乘0的个数 溢出问题整数反转字符串转整数回文数 进制专题七进制数进制转换 总结 前言 提示:生活是正着来生活,倒着去理解。 --戴维迈尔斯《社会心理学》 数学是学生时代掉头发的学科,那算法是毕业后掉头发…...

【SpringMVC篇】详解SpringMVC入门案例
🎊专栏【SpringMVC】 🍔喜欢的诗句:天行健,君子以自强不息。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题🥰 文章目录 🎍SpringMVC简介⭐优点 🌺SpringMVC入门…...

Programming abstractions in C阅读笔记:p166-p175
《Programming Abstractions In C》学习第58天,p166-p175总结。 一、技术总结 1.斐波那契数列(Fibonacci Sequenc) (1)斐波那契数列来源 斐波那契数列来自于《Liber Abaci》一书里兔子繁殖问题,相关资料很多,这里不赘述。 (2)关于《Libe…...

【List-Watch】
List-Watch 一、定义二、工作机制三、调度过程 一、定义 Kubernetes 是通过 List-Watch 的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件,向 APIServer 发送命令,在 …...

Pytorch因nn.Parameter导致实验不可复现的一种情况
文章首发见博客:https://mwhls.top/4871.html。 无图/格式错误/后续更新请见首发页。 更多更新请到mwhls.top查看 欢迎留言提问或批评建议,私信不回。 没解决,只是记录这种情况。 也可以多次实验取均值以避免结果复现。 场景 自己的模块中&a…...

MySQL表名区分不区分大小写,规则是怎样
MySQL表名区分不区分大小写,规则是怎样 mysql在linux中表名区分大小写,mysql在Windows中表名不区分大小写;可以在MySQL的配置文件“my.ini [mysqld]”中增加一行“lower_case_table_names 参数”来设置是否区分大小写。 mysql的表名区分大小写…...

Design patterns--观察者模式
设计模式之观察者模式 代码示例 #ifndef OBSERVER_H #define OBSERVER_H#include <map>class Observer { public:Observer();virtual void update(std::map<int, double>) 0; }; #endif // OBSERVER_H#include "observer.h"Observer::Observer() {}#if…...

【Spring Boot】SpringBoot 单元测试
SpringBoot 单元测试 一. 什么是单元测试二. 单元测试的好处三. Spring Boot 单元测试单元测试的实现步骤 一. 什么是单元测试 单元测试(unit testing),是指对软件中的最⼩可测试单元进⾏检查和验证的过程就叫单元测试。 二. 单元测试的好处…...

ansible 调研
参考:自动化运维工具——ansible详解(一) - 珂儿吖 - 博客园 (cnblogs.com) ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点…...

QT UI控件汇总介绍
按钮 ToolButton 和pushbutton没什么区别,可以用来设置图标 设置展示策略 RadioButton 一般用Container可以将其框起来设置互斥域,推荐选用GroupBox 使用方法 qDebug()<<ui->radioButton_3->isChecked(); CheckBox 可以勾选三态 stat…...

【垃圾回收概述及算法】
文章目录 1. 垃圾回收概述及算法2. 垃圾回收相关算法2.1 标记阶段:引用计数算法2.2 标记阶段:可达性分析算法2.3 对象的 finalization 机制2.3.1 一个对象是否可回收的判断 2.4 清除阶段:标记-清除算法2.5 清除阶段:复制算法2.6 清…...

2021年03月 Python(二级)真题解析#中国电子学会#全国青少年软件编程等级考试
Python编程(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 对于字典infor {“name”:“tom”, “age”:13, “sex”:“male”},删除"age":13键值对的操作正确的…...

为什么通过一致性正则化方法就可以避免将所有未标记数据集分配给同一类?
一致性正则化方法可以帮助避免将所有未标记数据分配给同一类别的原因在于它们引入了对模型输出的一致性约束,从而减轻了判别性损失(如交叉熵损失)可能导致的问题。以下是一些关键原因: 一致性反馈: 一致性正则化方法…...

第4章 决策树
文章目录 4.1 基本流程4.2 划分选择4.2.1 信息增益4.2.2 增益率4.2.3 基尼指数 4.3 剪枝处理4.3.1 预剪枝4.3.2 后剪枝 4.4 连续与缺失值4.4.1 连续值处理4.4.2 缺失值处理 4.5 多变量决策树4.6 阅读材料 4.1 基本流程 决策树也称判定树,是一类常见的机器学习方法。…...

在Remix中编写你的第一份智能合约
智能合约简单来讲就是:部署在去中心化区块链上的一个合约或者一组指令,当这个合约或者这组指令被部署以后,它就不能被改变了,并会自动执行,每个人都可以看到合约里面的条款。更深层次的理解就是:这些代码会…...

如何查看dll文件内导出函数名称
一 使用VS自带工具 进入VS开发环境,然后Tools -> Visual studio 2017 Command Prompt,打开兼容工具命令提示符, 如果工具 目录下没有命令行提示,可以从开始菜单找到VS的命令行提示符。 cd到dll所在目录,输入命令…...

学习笔记|串口通信的基础知识|同步/异步|RS232|常见的串口软件的参数|STC32G单片机视频开发教程(冲哥)|第二十集:串口通信基础
目录 1.串口通信的基础知识串口通信(Serial Communication)同步/异步?全双工?常见的串口软件的参数 2.STC32的串口通信实现原理引脚选择:实现分时复用模式选择串口1模式1,模式1波特率计算公式 3.串口通信代码实现编写串口1通信程序…...

JAVA String 和 String[][]互转的两种方法
第一种方法: <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.40</version> </dependency>字符串转数组: String s "[[22,23,23],[1,10,20]]"…...

推荐几个制作svg的工具
以下是一些用于制作SVG(可缩放矢量图形)的工具和软件,适用于不同技能级别和需求: Adobe Illustrator:作为业界标准之一,Adobe Illustrator是功能强大的矢量图形编辑软件,适用于专业设计师和创意…...

Java实现防重复提交,使用自定义注解的方式
目录 1.背景 2.思路 3.实现 创建自定义注解 编写拦截器 4.使用 5.验证...

Springboot实现Web组件注册
一、前言 在实际开发中,有时候我们可能使用springboot注册web组件,实现某些功能,比如我们需要生成一些api来提供对外的服务,而对应的路径其实是不固定的,那么这种情况下,其实是可以通过这种方式来注册web组…...

Element组件案例 Vue路由 前端打包部署步骤
目录 Element组件案例案例需求与分析环境搭建整体布局顶部标题左侧导航栏核心-右侧导航栏表格编写表单编写分页工具栏编写 异步数据加载异步加载数据性别展示修复图片展示修复 Vue路由Vue路由简介Vue路由入门 打包部署前端工程打包部署前端工程nginx介绍部署 Element组件案例 …...

mysql5.7停止维护时间
mysql5.7将于2023年10月停止官网支持和更新;老项目要准备升级,新项目的mysql必须是mysql8.0(2023-10) 官方升级咨询地址 oracle官方升级咨询地址https://go.oracle.com/LP116153?elq_mid247718&sh1518132002061316121320310…...

解密.kat6.l6st6r勒索病毒:保护数据的关键方法
导言: 网络威胁如雨后春笋,而 .kat6.l6st6r 勒索病毒则是其中一个异常狡猾的恶棍。本文91数据恢复将深入探讨 .kat6.l6st6r 勒索病毒的特点、数据恢复方法以及如何有效地预防这一数字威胁。 数据的重要性不容小觑,您可添加我们的技术服务号&a…...

Godot 添加信号
前言 Godot 里面C#和GDScirpt 的用法完全不一样,网上相关资料太少了。 什么是信号 信号分为信号源,触发,目的节点。信号源在某些条件下触发信号,比如按钮点击,鼠标悬停等事件 #mermaid-svg-wyr9ARVcBFmUUu8y {font-…...

JS如何判断文字是否溢出(被ellipsis)?
如果想要文本超出宽度后用省略号省略,只需要加上以下的css就行了。 .ellipsis {overflow: hidden;text-overflow: ellipsis;white-space: nowrap; }3行css搞定,但是问题来了:如果我们想要当文本被省略的时候,也就是当文本超出指定…...

pb:常用函数和语句清单
pb:常用函数和语句清单 PB中提供了600多个函数,这还没有将B/S开发、数据窗口对象中的函数计算在内。但是,只要掌握、熟练运用、真正理解下面的这些函数(包括部分语句)就可以开发软件项目了。这些函数和语句是我给学员讲课时开发的一个完整的管理系统(提供了MIS必须的完整模…...