1、每天一个linux命令57ss命令ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。当 服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。可能你不会有 切身的感受,但请相信我,当服务器维持的连接达到上万个的时候,使用netstat等于浪费 生命,而用ss才是节省时间。天 下武功唯快不破。ss快的秘诀在于,它利用到了TCP协议栈中
2、tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中 第一手的信息,这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢。(但仍然 比 netstat要快。)1.命令格式:ss 参数ss 参数 过滤2.命令功能:ss(Socket Statistics 的缩写)命令可以用来获取 socket统计信息,此命令输出的结果类似于 netstat输出的内容,但它能显示更多更详细的 TCP连接状态的信息, 且比 netstat 更快速高效。它使用了 TCP协议栈中 tcp_diag(是一个用于分析统计的模块),能直接
3、从获得第一手内核信息,这就使 得 ss命令快捷高效。在没有 tcp_diag,ss也可以正常运行。3.命令参数:-h, -help 帮助信息-V, -version 程序版本信息-n, -numeric 不解析服务名称-r, -resolve 解析主机名-a, -all 显示所有套接字(sockets)-l, -listening 显示监听状态的套接字(sockets)-o, -options 显示计时器信息-e, -extended 显示详细的套接字(sockets)信息-m, -memory 显示套接字(socket)的内存使用情况-p, -processes 显示使用套接字(socket
4、)的进程-i, -info 显示 TCP内部信息-s, -summary 显示套接字(socket)使用概况-4, -ipv4 仅显示IPv4的套接字(sockets)-6, -ipv6 仅显示IPv6的套接字(sockets)-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, -fami
5、ly=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.使用实例:实例1:显示TCP连接命令:ss -t
6、-a输出:rootlocalhost#ss-t-aStateRecv-QSend-QLocalAddress:PortPeerAddress:PortLISTEN00127.0.0.1:smux*:*LISTEN00*:3690*:*LISTEN00*:ssh*:*ESTAB00192.168.120.204:ssh10.2.0.68:49368rootlocalhost#说明:实例2:显示 Sockets 摘要命令:ss -s输出:rootlocalhost#ss-sTotal:34(kernel48)TCP:4(estab1,closed0,orphaned0,synrecv0,timew
7、ait0/0),ports3TransportTotalIPIPv6*48-RAW000UDP550TCP440INET990FRAG000rootlocalhost#说明:列出当前的established, closed, orphaned and waiting TCP sockets实例3:列出所有打开的网络连接端口命令:ss -l输出:rootlocalhost#ss-lRecv-QSend-QLocalAddress:PortPeerAddress:Port00127.0.0.1:smux*:*00*:3690*:*00*:ssh*:*rootlocalhost#说明:实例4:查看进
8、程使用的socket命令:ss -pl输出:rootlocalhost#ss-plRecv-QSend-QLocalAddress:PortPeerAddress:Port00127.0.0.1:smux*:*users:(snmpd,2716,8)00*:3690*:*users:(svnserve,3590,3)00*:ssh*:*users:(sshd,2735,3)rootlocalhost#说明:实例5:找出打开套接字/端口应用程序命令:ss -lp | grep 3306输出:rootlocalhost#ss-lp|grep193500*:1935*:*users:(fmsedge
9、,2913,18)00127.0.0.1:19350*:*users:(fmsedge,2913,17)rootlocalhost#ss-lp|grep330600*:3306*:*users:(mysqld,2871,10)rootlocalhost#说明:实例6:显示所有UDP Sockets命令:ss -u -a输出:rootlocalhost#ss-u-aStateRecv-QSend-QLocalAddress:PortPeerAddress:PortUNCONN00127.0.0.1:syslog*:*UNCONN00*:snmp*:*ESTAB00192.168.120.203:
10、3964110.58.119.119:domainrootlocalhost#说明:实例7:显示所有状态为established的SMTP连接命令:ss -o state established ( dport = :smtp or sport = :smtp ) 输出:rootlocalhost#ss-ostateestablished(dport=:smtporsport=:smtp)Recv-QSend-QLocalAddress:PortPeerAddress:Portrootlocalhost#说明:实例8:显示所有状态为Established的HTTP连接命令:ss -o stat
11、e established ( dport = :http or sport = :http ) 输出:rootlocalhost#ss-ostateestablished(dport=:httporsport=:http)Recv-QSend-QLocalAddress:PortPeerAddress:Port0075.126.153.214:2164192.168.10.42:httprootlocalhost#说明:实例9:列举出处于 FIN-WAIT-1状态的源端口为 80或者 443,目标网络为 193.233.7/24所有 tcp套接字命令:ss -o state fin-wait
12、-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输出:rootlocalhost#ss-4stateclosingRecv-QSend-QLocalAddress:PortPeerAddress:Port11109475.126.153.214:http192.168.10.42:4669说明:FILTER-NAME-HERE 可以代表以下任何一个:estab
13、lishedsyn-sentsyn-recvfin-wait-1fin-wait-2time-waitclosedclose-waitlast-acklistenclosingall : 所有以上状态connected : 除了listen and closed的所有状态synchronized :所有已连接的状态除了syn-sentbucket : 显示状态为maintained as minisockets,如:time-wait和syn-recv.big : 和bucket相反.实例11:匹配远程地址和端口号命令:ss dst ADDRESS_PATTERNss dst 192.168.
14、1.5ss dst 192.168.119.113:http ss dst 192.168.119.113:smtp ss dst 192.168.119.113:443输出:rootlocalhost#ssdst192.168.119.113StateRecv-QSend-QLocalAddress:PortPeerAddress:PortESTAB00192.168.119.103:16014192.168.119.113:20229ESTAB00192.168.119.103:16014192.168.119.113:61056ESTAB00192.168.119.103:1601419
15、2.168.119.113:61623ESTAB00192.168.119.103:16014192.168.119.113:60924ESTAB00192.168.119.103:16050192.168.119.113:43701ESTAB00192.168.119.103:16073192.168.119.113:32930ESTAB00192.168.119.103:16073192.168.119.113:49318ESTAB00192.168.119.103:16014192.168.119.113:3844rootlocalhost#ssdst192.168.119.113:ht
16、tpStateRecv-QSend-QLocalAddress:PortPeerAddress:Portrootlocalhost#ssdst192.168.119.113:3844StateRecv-QSend-QLocalAddress:PortPeerAddress:PortESTAB00192.168.119.103:16014192.168.119.113:3844rootlocalhost#说明:实例12:匹配本地地址和端口号命令:ss src ADDRESS_PATTERNss src 192.168.119.103ss src 192.168.119.103:httpss sr
17、c 192.168.119.103:80ss src 192.168.119.103:smtpss src 192.168.119.103:25输出:rootlocalhost#sssrc192.168.119.103:16021StateRecv-QSend-QLocalAddress:PortPeerAddress:PortESTAB00192.168.119.103:16021192.168.119.201:63054ESTAB00192.168.119.103:16021192.168.119.201:62894ESTAB00192.168.119.103:16021192.168.119.201:63055ESTAB00192.168.119.103:16021192.168.119.201:2274ESTAB00192.168.119.103:16021
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1