linux ss命令

ss命令

ss命令用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。
但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。当服务器维持的连接达到上万个的时候,,用ss节省时间。ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag和netlink。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢。
标准使用格式:
ss [options] [ FILTER ]
选项:
-n:不解析服务名称,以数字方式显示;
-a:显示所有的套接字(网络连接);
-l:显示处于监听状态(LISTEN)的套接字网路连接;
-o:显示计时器信息(TCP定时器x);
-e:扩展的信息
-m:显示套接字的内存使用情况;
-p:显示使用套接字的进程信息;
-i:显示内部的TCP信息;
-s:连接统计
-4:只显示ipv4的套接字;
-6:只显示ipv6的套接字;
-t:只显示tcp套接字(等同于 -A tcp);
-u:只显示udp套接字(等同于 -A udp);
-d:只显示DCCP套接字(等同于 -A dccp);
-w:仅显示RAW套接字(等同于 -A raw);
-x:仅显示UNIX域套接字(等同于 -A unix)。

常用组合:
-tan, -tanl, -tanlp, -uan
常用用法:
ss -l 显示本地打开的所有端口
ss -pl 显示每个进程具体打开的socket
ss -t -a 显示所有tcp socket
ss -u -a 显示所有的UDP Socekt
ss -s 列出当前socket详细信息

显示信息项
FILTER : [ state TCP-STATE ] [ EXPRESSION ]
TCP的常见状态:
tcp finite state machine:
LISTEN: 监听
ESTABLISHED:已建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED

支持过滤
EXPRESSION:
dport =
sport =
示例:’ ( dport = :ssh or sport = :ssh )’
显示所有已建立的ssh连接
ss -o state established '( dport = :ssh or sport = :ssh)'
显示所有已建立的HTTP连接
ss -o state established '( dport = :http or sport =:http )'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值