ss--分析套接字实用工具

Posted liujunjun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ss--分析套接字实用工具相关的知识,希望对你有一定的参考价值。

ss常用分析套接字相关的分析,功能和netstat类似,但比netstat速度更快、功能更多

常用选项:

  

  -s:打印出统计信息

    -t:打印出tcp相关的信息(默认显示ESTAB相的信息)

    -l:打印出listen相关的连接

    -n:不解析域名、协议、端口号等

    -4:只显示ipv4的连接

用法示例一:显示套接字连接统计信息

[root@localhost ~]# ss -s
Total: 562 (kernel 969)
TCP:   6 (estab 2, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0

Transport Total     IP        IPv6
*         969       -         -        
RAW       1         0         1        
UDP       2         1         1        
TCP       6         4         2        
INET      9         5         4        
FRAG      0         0         0        

用法示例二:显示ESTAB相关的连接

[root@localhost ~]# ss -tn
State       Recv-Q Send-Q                                      Local Address:Port                                                     Peer Address:Port              
ESTAB       0      0                                           192.168.1.220:22                                                        192.168.1.5:50781              
ESTAB       0      0                                           192.168.1.220:22                                                        192.168.1.6:53007  

用法示例三:显示LISTEN相关的连接

[root@localhost ~]# ss -tnl
State       Recv-Q Send-Q                                      Local Address:Port                                                     Peer Address:Port              
LISTEN      0      128                                                     *:22                                                                  *:*                  
LISTEN      0      100                                             127.0.0.1:25                                                                  *:*                  
LISTEN      0      128                                                    :::22                                                                 :::*                  
LISTEN      0      100                                                   ::1:25                                                                 :::*     

用法示例四:只显示IPV4相关的连接(排除ipv6)

[root@localhost ~]# ss -tnl4
State       Recv-Q Send-Q                                      Local Address:Port                                                     Peer Address:Port              
LISTEN      0      128                                                     *:22                                                                  *:*                  
LISTEN      0      100                                             127.0.0.1:25                                                                  *:*  

特别注意点:可以通过Recv-Q和Send-Q判断进行的队列状态

当套接字处于连接状态(Established)时,

    Recv-Q 表示套接字缓冲还没有被应用程序取走的字节数(即接收队列长度)。

    而 Send-Q 表示还没有被远端主机确认的字节数(即发送队列长度)。

当套接字处于监听状态(Listening)时,

    Recv-Q :表示全连接队列当前使用了多少

Send-Q:表示全连接队列的最大值 

    注:此处接收、发送队列是套接字级的,非系统级的

以上是关于ss--分析套接字实用工具的主要内容,如果未能解决你的问题,请参考以下文章

Linux 命令(204)—— ss 命令

Linux 命令(204)—— ss 命令

SS命令

分享几个实用的代码片段(附代码例子)

分享几个实用的代码片段(附代码例子)

片段和活动之间的核心区别是啥?哪些代码可以写成片段?