当前位置: 首页 > Linux

每天学一个Linux命令(66):ss

时间:2023-04-07 01:13:40 Linux

推荐阅读:每天学一个Linux命令(65):netstat命令介绍ss命令用于查看网络状态。ss命令可用于获取套接字统计信息。它显示的信息与netstat命令显示的信息类似,但ss的优势在于它可以显示更多更详细的TCP和连接状态信息,并且比netstat更快更高效。当服务器上的socket连接数变得非常多时,无论是使用netstat命令还是直接cat/proc/net/tcp,执行速度都会很慢。当服务器维护数万个连接时,使用ss命令比netstat更省时。语法格式ss[OPTIONS]ss[OPTIONS][FILTER]选项说明-h#打印帮助信息-V#程序版本信息-n#不解析服务名-r#解析主机名-a#显示所有套接字(sockets)-l#显示处于监听状态的套接字(socket)-o#显示定时器信息-e#显示详细的套接字(socket)信息-m#显示套接字(socket)内存使用情况-p#显示使用套接字(socket)的进程-i#显示TCP内部信息-s#显示套接字(socket)使用概览-4#仅显示IPv4套接字(sockets)-6#仅显示IPv6套接字(sockets)-0#DisplayPACKET套接字(socket)-t#仅显示TCP套接字(sockets)-u#仅显示UCP套接字(sockets)-d#仅显示DCCP套接字(sockets)-w#仅显示RAW套接字(sockets)-x#仅显示Unix套接字(sockets)-f#显示FAMILY类型套接字(sockets)-D#WriterawTCPsockets(sockets)信息转储到文件-F#从文件中移除过滤信息应用示例显示所有TCP连接信息[root@CentOS7-1~]#ss-t-aStateRecv-QSend-Q本地地址:端口对端地址:端口Listen0128*:SSH*:*Listen0100127.0.0.1:smtp*:*Listen0128127.0.0.1:8125*:*听0128*:dnp-sec*:*estab00192.168.1.100:ssh192.168.1.93:59231听0128[::::]:ssh[::]:*听0100[::::1]:SMTP[::]:*听0128[::1]:8125[::]:*听0128[::]:dnp-sec[::::]:*显示udpudpudp@une@centos7-1?]#ss-u-ustaterecv-qssend-q本地地址:端口对等地址:端口unconn00127.0.0.0.1:8125*:*unconn000127.0.0.1:323*:*UNConn00[::1]:8125[::]:*unconn00[::1]:323[::]:*显示套接字抽象信息[root@CentOS7-1~]#SS-Stotal:569(kernel1020)TCP:9(Estab1,Closed0,ORPHENED0,SynRCV0,Timewait0/0),Ports0transportTotalIPv6*1020-RAW101UDP42TCP9544INET14777FRAG0000#显示所有状态建立的SSH连接[root@CentOS7-1~]#ss-ostateestablished'(dport=:sshoridsport=Net:sshR)Q本地地址:端口人地址:PortTCP052192.168.100:ssh192.168.1.93:59231Timer:(on,235ms,0)SS-OSTATEESTABLISHED'orsport=:smtp)'#显示所有状态为Established的SMTP连接ss-ostateestablished'(dport=:httporsport=:http)'#显示所有状态为Established的HTTP连接ss和netstat效率比较[root@CentOS7-1~]#timenetstat-an|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'LISTEN8ESTABLISHED1real0m0.021suser0m0.009ssys0m0.009s[root@CentOS7-1~]#timess-tan|awk'NR>1{++S[$1]}END{for(ainS)printa,S[a]}'LISTEN8ESTAB1real0m0.009suser0m0.007ssys0m0.001s检查TCP或UDP连接数的脚本[root@CentOS7-1~]#./get_tcp_or_udp-connetios.shUsage:sh./get_tcp_or_udp-connetios.sh[closed|closed|closewait|synrecv|synsent|finwait1|finwait2|listen|established|lastack|timewait][root@CentOS7-1~]#./get_tcp_or_udp-connetios.shtimewait0[root@CentOS7-1~]#./get_tcp_or_udp-connetios.shlisten8[root@CentOS7-1~]#./get_tcp_or_udp-connetios.shestablished1[root@CentOS7-1~]#./get_tcp_or_udp-connetios.shclosed0[root@CentOS7-1~]#./get_tcp_or_udp-connetios.shclosing0[root@CentOS7-1~]#./get_tcp_or_udp-connetios.shclosewait0[root@CentOS7-1~]#./get_tcp_or_udp-connetios.shsynrecv0[root@CentOS7-1~]#./get_tcp_or_udp-connetios.shlastack0需要这个脚本的读者可以在这找到公众号后台对话框回复关键字【连接数脚本】下载这个脚本每天学一个Linux命令(63):route每天学一个Linux命令(64):ifconfig