2024年11月Linux如何使用ss命令查看socket状态(3)

发布时间:

  ⑴实例:列举出处于 FIN-WAIT-状态的源端口为 或者 ,目标网络为 ../所有 tcp套接字

  ⑵命令:ss -o state fin-wait- ‘( sport = :http or sport = :https ’ dst ../

  ⑶实例:用TCP 状态过滤Sockets:

  ⑷ss - state FILTER-NAME-HERE

  ⑸ss - state FILTER-NAME-HERE

  ⑹[rootlocalhost ~]#ss - state closing

  ⑺Recv-Q Send-Q Local Address:Port Peer Address:Port

  ⑻ ...:http ...:

  ⑼FILTER-NAME-HERE 可以代表以下任何一个:

  ⑽established

  ⑾syn-sent

  ⑿syn-recv

  ⒀fin-wait-

  ⒁fin-wait-

  ⒂time-wait

  ⒃close-wait

  ⒄last-ack

  ⒅all : 所有以上状态

  ⒆connected : 除了listen and closed的所有状态

  ⒇synchronized :所有已连接的状态除了syn-sent

  ⒈bucket : 显示状态为maintained as minisockets,如:time-wait和syn-recv.

  ⒉big : 和bucket相反。

  ⒊实例:匹配远程地址和端口号

  ⒋ss dst ADDRESS_PATTERN

  ⒌ss dst ...

  ⒍ss dst ...:http

  ⒎ss dst ...:smtp

  ⒏ss dst ...:

  ⒐[rootlocalhost ~]# ss dst ...

  ⒑State Recv-Q Send-Q Local Address:Port Peer Address:Port

  ⒒ESTAB ...: ...:

  ⒓ESTAB ...: ...:

  ⒔ESTAB ...: ...:

  ⒕ESTAB ...: ...:

  ⒖ESTAB ...: ...:

  ⒗ESTAB ...: ...:

  ⒘ESTAB ...: ...:

  ⒙ESTAB ...: ...:

  ⒚[rootlocalhost ~]# ss dst ...:http

  ⒛State Recv-Q Send-Q Local Address:Port Peer Address:Port

  ①[rootlocalhost ~]# ss dst ...:

  ②State Recv-Q Send-Q Local Address:Port Peer Address:Port

  ③ESTAB ...: ...:

  ④[rootlocalhost ~]#

  ⑤实例:匹配本地地址和端口号

  ⑥ss src ADDRESS_PATTERN

  ⑦ss src ...

  ⑧ss src ...:http

  ⑨ss src ...:

  ⑩ss src ...:smtp

  Ⅰss src ...:

  Ⅱ[rootlocalhost ~]# ss src ...:

  ⅢState Recv-Q Send-Q Local Address:Port Peer Address:Port

  ⅣESTAB ...: ...:

  ⅤESTAB ...: ...:

  ⅥESTAB ...: ...:

  ⅦESTAB ...: ...:

  ⅧESTAB ...: ...:

  ⅨESTAB ...: ...:

  ⅩESTAB ...: ...:

  ㈠ESTAB ...: ...:

  ㈡ESTAB ...: ...:

  ㈢ESTAB ...: ...:

  ㈣ESTAB ...: ...:

  ㈤ESTAB ...: ...:

  ㈥ESTAB ...: ...:

  ㈦ESTAB ...: ...:

  ㈧ESTAB ...: ...:

  ㈨[rootlocalhost ~]#

  ㈩实例:将本地或者远程端口和一个数比较

  ss dport OP PORT

  ss sport OP PORT

  [rootlocalhost ~]# ss sport = :http

  [rootlocalhost ~]# ss dport = :http

  [rootlocalhost ~]# ss dport 》 :

  [rootlocalhost ~]# ss sport 》 :

  [rootlocalhost ~]# ss sport 《 :

  [rootlocalhost ~]# ss sport eq :

  [rootlocalhost ~]# ss dport != :

  [rootlocalhost ~]# ss state connected sport = :http

  [rootlocalhost ~]# ss ( sport = :http or sport = :https

  [rootlocalhost ~]# ss -o state fin-wait- ( sport = :http or sport = :https dst ../

  ss dport OP PORT 远程端口和一个数比较;ss sport OP PORT 本地端口和一个数比较。

  OP 可以代表以下任意一个:

  《= or le : 小于或等于端口号

  》= or ge : 大于或等于端口号

  == or eq : 等于端口号

  != or ne : 不等于端口号

  《 or gt : 小于端口号

  》 or lt : 大于端口号

  实例:ss 和 stat 效率对比

  time stat -at

  [rootlocalhost ~]# time ss

  real m.s

  user m.s

  [rootlocalhost ~]#

  [rootlocalhost ~]# time stat -at

  real m.s

  user m.s

  [rootlocalhost ~]#

  用time 命令分别获取通过stat和ss命令获取程序和概要占用资源所使用的时间。在服务器连接数比较多的时候,stat的效率完全没法和ss比。

  上面就是Linux使用ss命令查看socket状态的方法介绍了,本文一共介绍了个使用ss命令的实例,相信通过这个实例讲解,你能对ss命令有一定的了解。