在Linux系统软件中,ss命令可以用来查询系统软件的socket状态,socket是系统软件的进程通信系统,所以需要掌握它的状态。下面详细介绍Linux如何使用ss命令查询socket的状态。感兴趣的盆友可以看看。
是ssSocketStatistics的缩写。说白了,ss命令可以用来获取socket的统计分析信息,可以显示类似于netstat的内容。但是ss的好处是可以显示很多更详细的TCP和连接状态的信息,而且比netstat更快更高效。当网络服务器的套接字连接总数越来越大时,无论是使用netstat命令还是立即使用cat/proc/net/tcp,执行速度都会变慢。有可能你不会有亲身体验,但是请相信我,在网络服务器保持几万个连接的情况下,应用netstat相当于消耗你的生命,而使用ss可以省时省力。世界上没有人能打败武术。ss速度的诀窍在于它在tcp协议中的应用TCPtcp_diag。Tcp_diag是一个用于分析统计和分析的控制模块,可以在Linux内核中获取第一手资料,保证了ss的便捷性和高效性。自然,如果你的系统软件里没有tcp_diag,ss还是可以正常工作的,只是效率高了会越来越慢。(但还是比netstat快。)
1.命令文件格式:
ss[主要参数]
ss[主要参数][过度考虑]
2.命令功能:
ss(SocketStatistics的缩写)命令可以用来获取套接字统计分析信息。这个命令的输出类似于netstat,但是它可以显示很多关于TCP连接状态的更详细的信息,并且比netstat更快更高效。它在TCPTCPTCP协议中应用了tcp_diag(一种用于分析统计分析的控制模块),可以即时获取第一手核心信息,使得ss命令方便高效。没有tcp_diag,ss依然可以正常工作。
3.命令的主要参数:
-h,-help帮助信息
-V,-version程序流版本号信息
-n,-numeric不分析服务项目名称。
-r,-resolve分析IP地址
-a,-all显示所有套接字。
-l,-listening显示监控状态的套接字。
-o,-options显示计时器信息。
-e,-extended显示详细的套接字信息。
-m,-memory显示套接字的运行内存应用程序状态。
-p,-processes显示了应用套接字的过程。
-i,-info显示TCP内部信息。
-s,-summary显示套接字的应用概述。
-4,-ipv4仅显示ipv4的套接字。
-6,-ipv6只显示ipv6的套接字。
-0,-PACKET显示数据包套接字。
-t,-tcp只显示tcp套接字。
-u,-udp仅显示UCP套接字。
-d,-dccp只显示dccp套接字。
-w,-RAW仅显示原始套接字。
-x,-unix仅显示unix套接字。
-f,-FAMILY=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套接字信息转储到文档中。
-F,-filter=FILE过滤文本文件中的设备信息。
过滤器:=[状态TCP-状态][表达式]
4.应用案例:
1:显示TCP连接
命令:ss-t-a
输出:
编码如下:
[root@localhost~]#ss-t-a
StateRecv-QSend-Q本地地址:端口对等地址:端口
EN00127.0列表.0.1:smux*:*
李斯特EN00*:3690*:*
EN00*:宋承宪*:*
ESTAB00192.168.120.204
[root@localhost~]#
案例2:显示套接字介绍
命令:ss-s
输出:
以上是我对Linux如何使用ss命令查询socket状态的总结。期待对大家有所帮助,掌握大量华军软件园的新闻资讯!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)