Linux网络状态工具ss命令操作详解
ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命令可以提供如下信息:
所有的TCP sockets
所有的UDP sockets
所有ssh/ftp/ttp/https持久连接
所有连接到Xserver的本地进程
使用state(例如:connected, synchronized, SYN-RECV, SYN-SENT,TIME-WAIT)、地址、端口过滤
所有的state FIN-WAIT-1 tcpsocket连接以及更多
很多流行的Linux发行版都支持ss以及很多监控工具使用ss命令.熟悉这个工具有助于您更好的发现与解决系统性能问题.本人强烈建议使用ss命令替代netstat部分命令,例如netsat -ant/lnt等.
展示他之前来做个对比,统计服务器并发连接数
netstat
# time netstat -ant | grep EST | wc -l
3100real 0m12.960s
user 0m0.334s
sys 0m12.561s
# time ss -o state established | wc -l
3204real 0m0.030s
user 0m0.005s
sys 0m0.026s
结果很明显ss统计并发连接数效率完胜netstat,在ss能搞定的情况下, 你还会在选择netstat吗, 还在犹豫吗, 看以下例子,或者跳转到帮助页面.
常用ss命令:
ss -l 显示本地打开的所有端口
ss -pl 显示每个进程具体打开的socket
ss -t -a 显示所有tcp socket
ss -u -a 显示所有的UDP Socekt
ss -o state established '( dport = :smtp or sport = :smtp )' 显示所有已建立的SMTP连接
ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接
ss -x src /tmp/.X11-unix/* 找出所有连接X服务器的进程
ss -s 列出当前socket详细信息:
显示sockets简要信息,列出当前已经连接,关闭,等待的tcp连接
# ss -s
Total: 3519 (kernel 3691)
TCP: 26557 (estab 3163, closed 23182, orphaned 194, synrecv 0, timewait 23182/0), ports 1452Transport Total IP IPv6
* 3691 - -
RAW 2 2 0
UDP 10 7 3
TCP 3375 3368 7
INET 3387 3377 10
FRAG 0 0 0
列出当前监听端口
# ss -lRecv-Q Send-Q Local Address:Port Peer Address:Port
0 10 :::5989 :::*
0 5 *:rsync *:*
0 128 :::sunrpc :::*
0 128 *:sunrpc *:*
0 511 *:http *:*
0 128 :::ssh :::*
0 128 *:ssh *:*
0 128 :::35766 :::*
0 128 127.0.0.1:ipp *:*
0 128 ::1:ipp :::*
0 100 ::1:smtp :::*
0 100 127.0.0.1:smtp *:*
0 511 *:https *:*
0 100 :::1311 :::*
0 5 *:5666 *:*
0 128 *:3044 *:*
ss列出每个进程名及其监听的端口
# ss -pl
ss列所有的tcp sockets
# ss -t -a
ss列出所有udp sockets
# ss -u -a
ss列出所有http连接中的连接
# ss -o state established '( dport = :http or sport = :http )'
以上包含对外提供的80,以及访问外部的80.用以上命令完美的替代netstat获取http并发连接数,监控中常用到
ss列出本地哪个进程连接到x server
# ss -x src /tmp/.X11-unix/*
ss列出处在FIN-WAIT-1状态的http、https连接
# ss -o state fin-wait-1 '( sport = :http or sport = :https )'
ss常用的state状态:
established
syn-sent
syn-recv
fin-wait-1
fin-wait-2
time-wait
closed
close-wait
last-ack
listen
closing
all : All of the above states
connected : All the states except for listen and closed
synchronized : All the connected states except for syn-sent
bucket : Show states, which are maintained as minisockets, i.e. time-wait and syn-recv.
big : Opposite to bucket state.
ss使用IP地址筛选
ss src ADDRESS_PATTERN
src:表示来源
ADDRESS_PATTERN:表示地址规则
如下:
ss src 120.33.31.1
# 列出来之20.33.31.1的连接
# 列出来至120.33.31.1,80端口的连接
ss src 120.33.31.1:http
ss src 120.33.31.1:8
ss使用端口筛选
ss dport OP PORT
OP:是运算符
PORT:表示端口
dport:表示过滤目标端口、相反的有sport
OP运算符如下:
<= or le : 小于等于 >= or ge : 大于等于
== or eq : 等于
!= or ne : 不等于端口
< or lt : 小于这个端口 > or gt : 大于端口
OP实例
ss sport = :http 也可以是 ss sport = :80
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 or sport = :https \)
ss -o state fin-wait-1 \( sport = :http or sport = :https \) dst 192.168.1/24
为什么ss比netstat快:
netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多
ss命令帮助
# ss -h
Usage: ss [ OPTIONS ]ss [ OPTIONS ] [ FILTER ]-h, --help this message-V, --version output version information-n, --numeric don't resolve service names-r, --resolve resolve host names-a, --all display all sockets-l, --listening display listening sockets-o, --options show timer information-e, --extended show detailed socket information-m, --memory show socket memory usage-p, --processes show process using socket-i, --info show internal TCP information-s, --summary show socket usage summary-4, --ipv4 display only IP version 4 sockets-6, --ipv6 display only IP version 6 sockets-0, --packet display PACKET sockets-t, --tcp display only TCP sockets-u, --udp display only UDP sockets-d, --dccp display only DCCP sockets-w, --raw display only RAW sockets-x, --unix display only Unix domain sockets-f, --family=FAMILY display sockets of type FAMILY-A, --query=QUERY, --socket=QUERYQUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]-D, --diag=FILE Dump raw information about TCP sockets to FILE-F, --filter=FILE read filter information from FILEFILTER := [ state TCP-STATE ] [ EXPRESSION ]
Linux网络状态工具ss命令操作详解相关推荐
- LINUX网络状态工具SS命令使用详解
ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix dom ...
- Linux 网络状态工具 ss 详解,比netstat更强大
1.展示他之前来做个对比,统计服务器并发连接数 netstat # time netstat -ant | grep EST | wc -l 3100real 0m12.960s user 0m0.3 ...
- 【Linux】Linux中rz和sz命令用法详解
[Linux]Linux中rz和sz命令用法详解 1. 简单介绍 rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具.优点就是不用再开一个sftp工具登录上去上传下载 ...
- 玩转Linux之dd命令操作详解
一.dd命令介绍 dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 使用权限: 所有使用者dd 这个指令在 manual ...
- java linux tracert_Linux系统中tracert命令使用详解
Linux系统中Tracert命令用来显示数据包到达目标主机是所经过的路径.下面由学习啦小编为大家整理了linux系统中tracert命令使用详解,希望对大家有帮助! Linux系统中tracert命 ...
- linux打补丁要选择目录,Linux下patch打补丁命令实例详解
linux下patch命令使用详解---linux打补丁命令 功能说明: 修补文件. 语 法: patch [-bceEflnNRstTuvZ][-B ][-d ][-D ][-F ][-g ][-i ...
- ss命令Linux网络状态工具
ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信 ...
- Linux常用命令操作详解
https://mp.weixin.qq.com/s/IR4yy7Q0mOA_XV16R21CdQ 一:Linux下tomcat服务的启动.关闭与错误跟踪 使用PuTTy远程连接到服务器以后,通常通过 ...
- netstat的替代者-ss命令实例详解
来源:公众号[编程珠玑] 作者:守望先生 原文地址:https://www.yanbinghu.com/2019/06/30/19183.html 前言 之前在介绍netstat的时候说过,netst ...
最新文章
- 那些参加过创业赛事活动的创业者后来怎么样了?
- 您是否应该始终偏爱xrange()而不是range()?
- Java黑皮书课后题第4章:*4.3(几何:估算面积)应用4.1节图中以下地点的GPS位置:Georgia州的Atlanta……计算被这四个城市所围起来的区域面积
- java为什么被开发者_为什么开发者对Java 9如此的兴奋
- JAVA实现可设置背景的MDI窗口
- [架构] 分布式和集群的区别
- linux搭建web服务器原理,【LINUX】linux搭建web服务器
- java图的建立field_《Java虚拟机原理图解》1.4 class文件中的字段表集合--field字段在class文件中是怎样组织的...
- 微信、企业微信和支付窗 SDK 三合一,JeeWx-api 1.2.0 版本发布
- 力扣-88 合并两个有序数组
- 如何在 Mac 上设置和使用快捷方式?
- 「NetSpeedMonitor」Windows10状态栏显示网络速度
- Chrome调试器中的“警告:显示了临时标题”
- python3安装失败_python3安装失败如何处理
- 追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems)
- VBoxManage 命令详解 (有用)
- java 判断字符串是否包含字母_Java中判断某一字符串是否包含数字、字母和中文...
- spotify歌曲下载_k表示使用Spotify歌曲功能进行聚类
- 水浒108条好汉排名及派系全解析
- C# dll ushort*的处理方法
热门文章
- 使用ONVIF协议控制海康威视球机
- php中求数据库两个数的和,php – Doctrine2和Zend框架中的多个数据库连接
- Oracle导入报错:ORA-01653表 无法通过 128 (在表空间 MY_BASE_DATA 中) 扩展
- EasyExcle使用小结
- python报错_python 常见报错
- c++ 调用cmd命令行函数 可隐藏黑框 四种方法总结
- linux链路状态,网卡一配地址,链路状态就down了,求解决方法!
- ue linux转dos格式,uestudio中如何把dos格式转为unix
- 文件共享服务器连接数问题,共享服务器上连接数量的设置
- facebook对话链接_并非里程碑! Facebook的100种语言互译模型夸大宣传遭质疑