每天一个linux指令(57):ss指令ITeye - 凯发娱乐

每天一个linux指令(57):ss指令ITeye

2019年03月24日08时42分54秒 | 作者: 平安 | 标签: 指令,一个,显现 | 浏览: 2956

ss是Socket Statistics​的缩写。望文生义,ss指令能够用来获取socket计算信息,它能够显现和netstat相似的内容。但ss的优势在于它能够显现更多更具体的有关TCP和衔接状况的信息,并且比netstat更快速更高效。
当效劳器的socket衔接数量变得非常大时,无论是运用netstat指令仍是直接cat /proc/net/tcp,履行速度都会很慢。或许你不会有切身的感触,但请信任我,当效劳器保持的衔接到达上万个的时分,运用netstat等于糟蹋 生命,而用ss才是节省时刻。
全国武功唯快不破。ss快的诀窍在于,它运用到了TCP协议栈中tcp_diag。tcp_diag是一个用于剖析计算的模块,能够取得Linux 内核中第一手的信息,这就保证了ss的方便高效。当然,假如你的体系中没有tcp_diag,ss也能够正常运转,仅仅功率会变得稍慢。(但仍然比 netstat要快。)
1.指令格局:
ss [参数]
ss [参数] [过滤]
2.指令功用:
ss(Socket Statistics的缩写)指令能够用来获取 socket计算信息,此指令输出的成果相似于 netstat输出的内容,但它能显现更多更具体的 TCP衔接状况的信息,且比 netstat 更快速高效。它运用了 TCP协议栈中 tcp_diag(是一个用于剖析计算的模块),能直接从取得第一手内核信息,这就使得 ss指令方便高效。在没有 tcp_diag,ss也能够正常运转。
3.指令参数:
-h, help 协助信息
-V, version #p#分页标题#e#程序版别信息
-n, numeric 不解析效劳称号
-r, resolve  解析主机名
-a, all 显现一切套接字(sockets)
-l, listening 显现监听状况的套接字(sockets)
-o, options  显现计时器信息
-e, extended  显现具体的套接字(sockets)信息
-m, memory  显现套接字(socket)的内存运用情况
-p, processes 显现运用套接字(socket)的进程
-i, info 显现 TCP内部信息
-s, summary 显现套接字(socket)运用概略
-4, ipv4  仅显现IPv4的套接字(sockets)
-6, ipv6  仅显现IPv6的套接字(sockets)
#p#分页标题#e#-0, packet  显现 PACKET 套接字(socket)
-t, tcp 仅显现 TCP套接字(sockets)
-u, udp 仅显现 UCP套接字(sockets)
-d, dccp 仅显现 DCCP套接字(sockets)
-w, raw 仅显现 RAW套接字(sockets)
-x, unix 仅显现 Unix套接字(sockets)
-f, family=FAMILY  显现 FAMILY类型的套接字(sockets),FAMILY可选,支撑  unix, inet, inet6, link, netlink
-A, query=QUERY, socket=QUERY
  QUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]
-D, diag=FILE  将原始TCP套接字(sockets)信息转储到文件
-F, filter=FILE  从文件中都去过滤器信息
  FILTER := [ state TCP-STATE ] [ EXPRESSION ]

4.#p#分页标题#e#运用实例:
实例1:显现TCP衔接
指令:
ss -t -a
输出:

仿制代码
[root@localhost ~]# ss -t -a
State  Recv-Q Send-Q  Local Address:Port  Peer Address:Port 
LISTEN  0  0  127.0.0.1:smux  *:* 
LISTEN  0  0  *:3690  *:* 
LISTEN  0  0  *:ssh  *:*  #p#分页标题#e#
ESTAB  0  0  192.168.120.204:ssh  10.2.0.68:49368 
[root@localhost ~]#
仿制代码
阐明:

实例2:显现 Sockets 摘要
指令:
ss -s
输出:

仿制代码
[root@localhost ~]# ss -s
Total: 34 (kernel 48)
TCP:  4 (estab 1, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 3

Transport Total  IP  IPv6
*  48  -  - 
RAW  0  0  0  #p#分页标题#e#
UDP  5  5  0 
TCP  4  4  0 
INET  9  9  0 
FRAG  0  0  0 

[root@localhost ~]#
仿制代码
阐明:
列出当时的established, closed, orphaned and waiting TCP sockets

实例3:列出一切翻开的网络衔接端口
指令:
ss -l
输出:

仿制代码
[root@localhost ~]# ss -l
Recv-Q Send-Q  Local Address:Port  Peer Address:Port  #p#分页标题#e#
0  0  127.0.0.1:smux  *:* 
0  0  *:3690  *:* 
0  0  *:ssh  *:* 
[root@localhost ~]# 
仿制代码
阐明:

实例4:检查进程运用的socket
指令:
ss -pl
输出:
#p#分页标题#e#

仿制代码
[root@localhost ~]# ss -pl
Recv-Q Send-Q  Local Address:Port  Peer Address:Port 
0  0  127.0.0.1:smux  *:*  users:(("snmpd",2716,8))
0  0  *:3690  *:*  users:(("svnserve",3590,3))
0  0  *:ssh  *:*  users:((#p#分页标题#e#"sshd",2735,3))
[root@localhost ~]#
仿制代码
阐明:

实例5:找出翻开套接字/端口应用程序
指令:
ss -lp | grep 3306
输出:

仿制代码
[root@localhost ~]# ss -lp|grep 1935
0  0  *:1935  *:*  users:(("fmsedge",2913,18))
0  0  127.0.0.1:19350  *:*  users:((#p#分页标题#e#"fmsedge",2913,17))
[root@localhost ~]# ss -lp|grep 3306
0  0  *:3306  *:*  users:(("mysqld",2871,10))
[root@localhost ~]#
仿制代码
阐明:

实例6:显现一切UDP Sockets
指令:
ss -u -a
输出:

仿制代码
[root@localhost ~]# ss -u -a
State  Recv-Q Send-Q  Local Address:Port  Peer Address:Port  #p#分页标题#e#
UNCONN  0  0  127.0.0.1:syslog  *:* 
UNCONN  0  0  *:snmp  *:* 
ESTAB  0  0  192.168.120.203:39641  10.58.119.119:domain
[root@localhost ~]#
仿制代码
阐明:

实例7:显现一切状况为established的SMTP衔接
指令:
ss -o state established ( dport = :smtp or sport = :smtp )
输出:

[root@localhost ~]#p#分页标题#e ss -o state established ( dport = :smtp or sport = :smtp )
Recv-Q Send-Q  Local Address:Port  Peer Address:Port 
[root@localhost ~]#
阐明:

实例8:显现一切状况为Established的HTTP衔接
指令:
ss -o state established ( dport = :http or sport = :http )
输出:

[root@localhost ~]# ss -o state established ( dport = :http or sport = :http )
Recv-Q Send-Q  Local Address:Port  Peer Address:Port 
0  0  75.126.153.214:2164  192.168.10.42:http  #p#分页标题#e#
[root@localhost ~]#
阐明:

实例9:罗列出处于 FIN-WAIT-1状况的源端口为 80或许 443,方针网络为 193.233.7/24一切 tcp套接字
指令:
ss -o state fin-wait-1 ( sport = :http or sport = :https ) dst 193.233.7/24
输出:
阐明:

实例10:用TCP 状况过滤Sockets:
指令:
ss -4 state FILTER-NAME-HERE
ss -6 state FILTER-NAME-HERE
输出:
[root@localhost ~]#ss -4 state closing
Recv-Q Send-Q  Local Address:Port  Peer Address:Port #p#分页标题#e#
1  11094  75.126.153.214:http  192.168.10.42:4669

阐明:
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.#p#分页标题#e#
big : 和bucket相反.

实例11:匹配长途地址和端口号
指令:
ss dst ADDRESS_PATTERN
ss dst 192.168.1.5
ss dst 192.168.119.113:http
ss dst 192.168.119.113:smtp
ss dst 192.168.119.113:443
输出:

仿制代码
[root@localhost ~]# ss dst 192.168.119.113
State  Recv-Q Send-Q  Local Address:Port  Peer Address:Port 
ESTAB  0  0  192.168.119.103:16014  192.168.119.113:20229 
ESTAB  0  0  192.168.119.103:16014  192.168.119.113:61056  #p#分页标题#e#
ESTAB  0  0  192.168.119.103:16014  192.168.119.113:61623 
ESTAB  0  0  192.168.119.103:16014  192.168.119.113:60924 
ESTAB  0  0  192.168.119.103:16050  192.168.119.113:43701 
ESTAB  0  0  192.168.119.103:16073  192.168.119.113:32930 
ESTAB  0  0  192.168.119.103:16073  192.168.119.113:49318 
ESTAB  0  0  192.168.119.103:16014  192.168.119.113:3844 
[root@localhost ~]# ss dst 192.168.119.113:http
State  Recv-Q Send-Q  Local Address:Port  Peer Address:Port  #p#分页标题#e#
[root@localhost ~]# ss dst 192.168.119.113:3844
State  Recv-Q Send-Q  Local Address:Port  Peer Address:Port 
ESTAB  0  0  192.168.119.103:16014  192.168.119.113:3844 
[root@localhost ~]#
仿制代码
阐明:

实例12:匹配本地地址和端口号
指令:
ss src ADDRESS_PATTERN
ss src 192.168.119.103
ss src 192.168.119.103:http
ss src 192.168.119.103:80
ss src 192.168.119.103:smtp
ss src 192.168.119.103:25
输出:#p#分页标题#e#

仿制代码
[root@localhost ~]# ss src 192.168.119.103:16021
State  Recv-Q Send-Q  Local Address:Port  Peer Address:Port 
ESTAB  0  0  192.168.119.103:16021  192.168.119.201:63054 
ESTAB  0  0  192.168.119.103:16021  192.168.119.201:62894 
ESTAB  0  0  192.168.119.103:16021  192.168.119.201:63055 
ESTAB  0  0  192.168.119.103:16021  192.168.119.201:2274 
ESTAB  0  0  192.168.119.103:16021  192.168.119.201:44784  #p#分页标题#e#
ESTAB  0  0  192.168.119.103:16021  192.168.119.201:7233 
ESTAB  0  0  192.168.119.103:16021  192.168.119.103:58660 
ESTAB  0  0  192.168.119.103:16021  192.168.119.201:44822 
ESTAB  0  0  192.168.119.103:16021  10.2.1.206:56737 
ESTAB  0  0  192.168.119.103:16021  10.2.1.206:57487 
ESTAB  0  0  192.168.119.103:16021  10.2.1.206:56736 
ESTAB  0  0  192.168.119.103:16021  10.2.1.206:64652  #p#分页标题#e#
ESTAB  0  0  192.168.119.103:16021  10.2.1.206:56586 
ESTAB  0  0  192.168.119.103:16021  10.2.1.206:64653 
ESTAB  0  0  192.168.119.103:16021  10.2.1.206:56587 
[root@localhost ~]#
仿制代码
阐明:

实例13:将本地或许长途端口和一个数比较
指令:
ss dport OP PORT
ss sport OP PORT
输出:
#p#分页标题#e#
仿制代码
[root@localhost ~]# ss  sport = :http
[root@localhost ~]# ss  dport = :http
[root@localhost ~]# ss  dport \ :1024
[root@localhost ~]# ss  sport \ :1024
[root@localhost ~]# ss sport \ :32000
[root@localhost ~]# ss  sport eq :22
[root@localhost ~]# ss  dport != :22
[root@localhost ~]# ss  state connected sport = :http
[root@localhost ~]# ss \( sport = :http or sport = :https \)
[root@localhost ~]# ss -o state fin-wait-1 \( sport = :http or sport = :https \) dst 192.168.1/24
仿制代码
阐明:#p#分页标题#e#
ss dport OP PORT 长途端口和一个数比较;ss sport OP PORT 本地端口和一个数比较。
OP 能够代表以下恣意一个:
= or le : 小于或等于端口号
= or ge : 大于或等于端口号
or eq : 等于端口号
!= or ne : 不等于端口号
or gt : 小于端口号
or lt : 大于端口号

实例14:ss 和 netstat 功率比照
指令:
time netstat -at
time ss
输出:

仿制代码
[root@localhost ~]# time ss  #p#分页标题#e#
real  0m0.739s
user  0m0.019s
sys  0m0.013s
[root@localhost ~]#
[root@localhost ~]# time netstat -at
real  2m45.907s
user  0m0.063s
sys  0m0.067s
[root@localhost ~]#
仿制代码


阐明:
用time 指令别离获取经过netstat和ss指令获取程序和概要占用资源所运用的时刻。在效劳器衔接数比较多的时分,netstat的功率彻底无法和ss比。

转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0303/210.html?1457084072

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1
  • 2

    Linux入门学习笔记ITeye

    文件,光标,用户
  • 3

    dnsITeye

    地址,主机,服务器
  • 4

    centos上晋级glibcITeye

    晋级,指定,比较
  • 5

    centos minimal网络ITeye

    装置,默许,网卡
  • 6
  • 7
  • 8
  • 9

    linxu规范目录结构ITeye

    目录,体系,文件
  • 10