linux下网络连接socket统计工具ss学习小结
1.ss ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速
·
1.ss
ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。当服务器维持的连接达到上万个的时候,使用netstat会比较慢,而用ss会节省大量的时间。ss比较快的原因在于它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux内核中第一手的信息,这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢(但仍然比 netstat要快)。
2.命令格式
ss [option] [过滤]
常见的选项:
-a #显示所有套接字(sockets)
-l #仅显示处在监听状态的套接字(sockets)
-t #仅显示TCP套接字(sockets)
-u #仅显示UDP套接字(sockets)
-d #仅显示DCCP套接字(sockets)
-w #仅显示RAW套接字(sockets)
-x #仅显示Unix套接字(sockets)
-s #显示套接字(socket)简要信息
-p #显示使用套接字(socket)的进程
-4, --ipv4 #仅显示IPv4的套接字(sockets)
-6, --ipv6 #仅显示IPv6的套接字(sockets)
-n #不解析主机IP
-r #解析主机名
3.使用举例
#1.显示所有网络连接
ss -a -n
#2.显示TCP连接
ss -t -a
#3.显示Sockets摘要信息
ss -s
#4.列出所有处在listening状态的socket
ss -l
#5.查看进程使用的socket
ss -lp
#6.显示所有UDP Sockets
ss -u -a
#7.显示所有状态为established的SMTP连接
ss -o state established '( dport = :smtp or sport = :smtp )'
#8.显示所有状态为Established的HTTP连接
ss -o state established '( dport = :http or sport = :http )'
#9.查看网络连接的统计信息
ss -s
学习资料来源于:
http://www.cnblogs.com/peida/archive/2013/03/11/2953420.html
更多推荐
已为社区贡献4条内容
所有评论(0)