ss 命令简介

1. 简介

ss 使用 netlink 与内核 tcp_diag 模块通信获取 socket 信息,用法和输出结果类似于 netstat 命令

语法格式如下

ss [options] [ FILTER ]

选项说明

选项 说明
-t tcp 协议相关
-u udp 协议相关
-w 裸套接字相关
-x unix sock 相关
-l listen 状态的连接
-a 所有
-n 数字格式
-p 相关的程序及 PID
-e 扩展的信息
-m 内存用量
-o 计时器信息

FILTER 过滤器说明

FILTER := [ state TCP-STATE ] [ EXPRESSION ]

其中:

TCP-FILTER:表示 tcp 状态,常见的状态有established, syn-sent, syn-recv, fin-wait-1, fin-wait-2, time-wait, closed, close-wait, last-ack, listening and closing

EXPRESSION 表达式

  • dport =: 表示目标端口,也可以是协议名称

  • sport =: 表示源端口,也可以是协议名称

2. 示例

2.1 显示本端打开的所有端口

[root@centos ~]#ss -l|tail -n3
tcp                LISTEN              0      5             0.0.0.0:rsync      0.0.0.0:*
tcp                LISTEN              0     128            0.0.0.0:ssh        0.0.0.0:*
tcp                LISTEN              0     100            127.0.0.1:smtp     0.0.0.0:*
[root@centos ~]#

2.2 显示每个进程具体打开的 socket

[root@centos ~]#ss -pl|tail -n1
tcp                LISTEN              0     5              0.0.0.0:rsync      0.0.0.0:*       users:(("rsync",pid=1780,fd=3))

2.3 显示所有 TCP Socket

[root@centos ~]#ss -ta
State          Recv-Q         Send-Q                   Local Address:Port                    Peer Address:Port
LISTEN         0              5                              0.0.0.0:rsync                        0.0.0.0:*
LISTEN         0              128                            0.0.0.0:ssh                          0.0.0.0:*
LISTEN         0              100                          127.0.0.1:smtp                         0.0.0.0:*
ESTAB          0              0                          172.18.0.38:ssh                      172.18.0.40:49707
LISTEN         0              5                                 [::]:rsync                           [::]:*
LISTEN         0              128                               [::]:ssh                             [::]:*
LISTEN         0              100                              [::1]:smtp                            [::]:*
[root@centos ~]#

2.4 显示所有 UDP Socket

[root@centos ~]#ss -ua
State        Recv-Q         Send-Q                      Local Address:Port                   Peer Address:Port
ESTAB        0              0                      172.18.0.38%enp0s3:bootpc                   172.18.0.1:bootps
[root@centos ~]#

2.5 显示所有已建立的 ssh 连接

[root@centos ~]#ss -o state established '( dport = :ssh or sport = :ssh )'
Netid          Recv-Q          Send-Q        Local Address:Port                           Peer Address:Port
tcp            0               0             172.18.0.38:ssh   172.18.0.40:49707          timer:(keepalive,87min,0)
[root@centos ~]#

2.6 显示所有已建立的 HTTP 连接

[root@centos ~]#ss -o state established '( dport = :http or sport = :http )'
Netid          Recv-Q          Send-Q                   Local Address:Port                   Peer Address:Port
[root@centos ~]#

2.7 列出当前 socket 详细信息(生产中常用)

[root@centos ~]#ss -s
Total: 213
TCP:   7 (estab 1, closed 0, orphaned 0, timewait 0)

Transport Total     IP        IPv6
RAW	  1         0         1
UDP	  1         1         0
TCP	  7         4         3
INET	  9         5         4
FRAG	  0         0         0

[root@centos ~]#
posted @ 2021-03-27 16:47  临江仙我亦是行人  阅读(239)  评论(0编辑  收藏  举报