ss命令有什么用?详解Linux网络状态ss命令使用

时间:2020-11-12 08:24:59 来源: 良许Linux公众号


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等.

展示他之前来做个对比,统计服务器并发连接数

eal0m12.960s

user0m0.334s

sys0m12.561s

#timess-ostateestablished|wc-l

3204

real0m0.030s

user0m0.005s

sys0m0.026s

netstat

#timenetstat-ant|grepEST|wc-l

3100

r

结果很明显ss统计并发连接数效率完胜netstat,在ss能搞定的情况下, 你还会在选择netstat吗, 还在犹豫吗, 看以下例子,或者跳转到帮助页面.

常用ss命令:

ss-l显示本地打开的所有端口

ss-pl显示每个进程具体打开的socket

ss-t-a显示所有tcpsocket

ss-u-a显示所有的UDPSocekt

ss-ostateestablished'(dport=:smtporsport=:smtp)'显示所有已建立的SMTP连接

ss-ostateestablished'(dport=:httporsport=:http)'显示所有已建立的HTTP连接

ss-xsrc/tmp/.X11-unix/*找出所有连接X服务器的进程

ss-s列出当前socket详细信息:

显示sockets简要信息,列出当前已经连接,关闭,等待的tcp连接

#ss-s

Total:3519(kernel3691)

TCP:26557(estab3163,closed23182,orphaned194,synrecv0,timewait23182/0),ports1452

TransportTotalIPIPv6

*3691--

RAW220

UDP1073

TCP337533687

INET3387337710

FRAG000

列出当前监听端口

#ss-lRecv-QSend-QLocalAddress:PortPeerAddress:Port

010:::5989:::*

05*:rsync*:*

0128:::sunrpc:::*

0128*:sunrpc*:*

0511*2:http*:*

0128:::ssh:::*

0128*:ssh*:*

0128:::35766:::*

0128127.0.0.1:ipp*:*

0128::1:ipp:::*

0100::1:smtp:::*

0100127.0.0.1:smtp*:*

0511*:https*:*

0100:::1311:::*

05*:5666*:*

0128*:3044*:*

ss列出每个进程名及其监听的端口

#ss-pl

ss列所有的tcp sockets

#ss-t-a

ss列出所有udp sockets

#ss-u-a

ss列出所有http连接中的连接

#ss-ostateestablished'(dport=:httporsport=:http)'

·以上包含对外提供的80,以及访问外部的80

·用以上命令完美的替代netstat获取http并发连接数,监控中常用到

ss列出本地哪个进程连接到x server

#ss-xsrc/tmp/.X11-unix/*

ss列出处在FIN-WAIT-1状态的http、https连接

#ss-ostatefin-wait-1'(sport=:httporsport=:https)'

ss常用的state状态:

established

syn-sent

syn-recv

fin-wait-1

fin-wait-2

time-wait

closed

close-wait

last-ack

listen

closing

all:Alloftheabovestates

connected:Allthestatesexceptforlistenandclosed

synchronized:Alltheconnectedstatesexceptforsyn-sent

bucket:Showstates,whicharemaintainedasminisockets,i.e.time-waitandsyn-recv.

big:Oppositetobucketstate.

ss使用IP地址筛选

sssrcADDRESS_PATTERN

src:表示来源

ADDRESS_PATTERN:表示地址规则

如下:

sssrc120.33.31.1#列出来之20.33.31.1的连接

# 列出来至120.33.31.1,80端口的连接

sssrc120.33.31.1:http

sssrc120.33.31.1:8

ss使用端口筛选

ssdportOPPORT

OP:是运算符

PORT:表示端口

dport:表示过滤目标端口、相反的有sport

OP运算符如下:

<=orle:小于等于>=orge:大于等于

==oreq:等于

!=orne:不等于端口

orgt:大于端口

OP实例

sssport=:http也可以是sssport=:80

ssdport=:http

ssdport\>:1024

sssport\>:1024

sssport\<:32000

sssporteq:22

ssdport!=:22

ssstateconnectedsport=:http

ss\(sport=:httporsport=:https\)

ss-ostatefin-wait-1\(sport=:httporsport=:https\)dst192.168.1/24

为什么ss比netstat快:

netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多

ss命令帮助

#ss-h

Usage:ss[OPTIONS]

ss[OPTIONS][FILTER]

-h,--helpthismessage

-V,--versionoutputversioninformation

-n,--numericdon'tresolveservicenames

-r,--resolveresolvehostnames

-a,--alldisplayallsockets

-l,--listeningdisplaylisteningsockets

-o,--optionsshowtimerinformation

-e,--extendedshowdetailedsocketinformation

-m,--memoryshowsocketmemoryusage

-p,--processesshowprocessusingsocket

-i,--infoshowinternalTCPinformation

-s,--summaryshowsocketusagesummary

-4,--ipv4displayonlyIPversion4sockets

-6,--ipv6displayonlyIPversion6sockets

-0,--packetdisplayPACKETsockets

-t,--tcpdisplayonlyTCPsockets

-u,--udpdisplayonlyUDPsockets

-d,--dccpdisplayonlyDCCPsockets

-w,--rawdisplayonlyRAWsockets

-x,--unixdisplayonlyUnixdomainsockets

-f,--family=FAMILYdisplaysocketsoftypeFAMILY

-A,--query=QUERY,--socket=QUERY

QUERY:={all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]

-D,--diag=FILEDumprawinformationaboutTCPsocketstoFILE

-F,--filter=FILEreadfilterinformationfromFILE

FILTER:=[stateTCP-STATE][EXPRESSION]

关键词:Linux ss命令

关于我们 加入我们 广告服务 网站地图

All Rights Reserved, Copyright 2004-2020 www.ctocio.com.cn

如有意见请与我们联系 邮箱:5 53 13 8 [email protected]

豫ICP备20005723号    IT专家网 版权所有