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等.
展示他之前来做个对比,统计服务器并发连接数
netstat
# time netstat -ant | grep EST | wc -l
235
real 0m12.970
user 0m0.334s
sys 0m12.561s
结果很明显ss统计并发连接数效率完败netstat,在ss能搞定的情况下, 你还会在选择netstat吗, 还在犹豫吗, 看以下例子,或者跳转到帮助页面.
常用ss命令:
ss -l 显示本地打开的所有端口
ss -pl 显示每个进程具体打开的socket
ss -t -a 显示所有tcp socket
ss -u -a 显示所有的UDP Socekt
ss -o state established
'( dport = :smtp or sport = :smtp )'
显示所有已建立的SMTP连接
ss -o state established
'( dport = :http or sport = :http )'
显示所有已建立的HTTP连接
ss -po 显示所有进程PID等信息
ss -x src /tmp/.X11-unix/* 找出所有连接X服务器的进程
ss -s 列出当前socket详细信息:
本文转自 转身撞墙角 51CTO博客,原文链接:http://blog.51cto.com/chentianwang/1769945