关于linux:通过14个案例掌握-ss-命令监控-socket-连接

32次阅读

共计 1962 个字符,预计需要花费 5 分钟才能阅读完成。

SS 是一个命令行工具,它显示套接字统计数据并监督 Linux 零碎的网络连接。它曾经取代了 netstat 命令,而 netstat 命令当初已被弃用。ss 命令比 netstat 命令快得多,并且打印出更具体的网络统计信息。在本指南中,咱们将重点介绍如何应用 ss 命令监督 Linux 零碎上的套接字连贯。

(1) 查看所有套接字连贯

In its basic form, without any arguments, the ss command displays all the socket or network connections (TCP/UDP/UNIX) as shown:

不带任何参数,显示所有套接字或网络连接(TCP/UDP/UNIX)

$ ss

为了更容易查看输入,能够将输入通过管道输送到 less,如下所示。

$ ss | less

(2) 查看 TCP / UDP 套接字连贯

要只查看 TCP scoket 连贯,能够应用 -t 选项,如下所示

$ ss -t

To filter out UDP connections, pass the -ua option as shown.

要过滤掉 UDP 连贯,能够应用 -ua 选项,如下所示

$ ss -ua

(3) 查看所有监听套接字连贯

要理解所有侦听套接字 (默认状况下通常省略),请应用 -l 选项

$ ss -l

(4) 查看所有监听 TCP 套接字连贯

放大搜寻后果的范畴,只列出 TCP 侦听连贯,能够应用 -lt 选项。

$ ss -lt

(5) 查看所有监听 UDP 套接字连贯

放大搜寻后果的范畴,只列出 UDP 侦听连贯,能够应用 -lu 选项。

$ ss -lu

(6) 查看所有侦听和非侦听套接字连贯

-a 选项将打印出所有已连贯的和未侦听的套接字,如下所示。

$ ss -a

(7) 查看 IPv4 / Ipv6 套接字连贯

要查看以后的 IPv4 套接字连贯,能够应用 -4 选项。

$ ss -4

要查看以后的 IPv6 套接字连贯,能够应用 -6 选项。

[email protected]:~$ ss -6
Netid        State         Recv-Q         Send-Q             Local Address:Port                      Peer Address:Port
icmp6        UNCONN        0              0                   *:ipv6-icmp                            *:*
[email protected]:~$

(8) 查看所有套接字连贯的摘要

如果您想查看套接字连贯的总体统计数据,包含 TCP 和 UDP、IPv4 和 IPv6 连贯的数量,只需像上面这样通过 -s 选项。这将以表格格局打印出后果。

$ ss -s

(9) 通过端口号过滤连贯

您还能够通过端口号过滤连贯。例如,在上面的示例中,咱们过滤了连贯到 SSH 端口 22 的连贯

$ ss -at '(dport = :22 or sport = :22)'

(10) 查看不解析主机名的套接字连贯

缺省状况下,ss 命令尝试将 ip 地址解析为主机名。如果您想要 ss 命令阻止 ip 地址到主机名的解析,那么应用 -n 选项,示例如下所示

[email protected]:~$ ss -nt
State           Recv-Q        Send-Q        Local Address:Port         Peer Address:Port
ESTAB           0             0             192.168.1.80:22            192.168.1.3:53155
ESTAB           0             36            192.168.1.80:22            192.168.1.3:53152
[email protected]:~$

(11) 列出套接字连贯的过程名和 pid

应用 -p 选项列出与网络连接相关联的过程名和 pid,如下所示

$ ss -p | more

(12) 扩大输入

应用 -e 选项显示套接字连贯的扩大输入。扩大输入将显示套接字的 uid、套接字的 inode 号和该套接字的 uuid。

列出扩大的 tcp 侦听套接字

$ ss -elt

列出扩大的 udp 侦听套接字

$ ss -elu

(13) 查看内存应用状况

应用 -m 选项能够查看套接字连贯耗费了多少内存

上面的命令将显示 tcp 连贯的内存应用状况

$ ss -mt

(14) 终结 IPv4 / IPv6 套接字连贯

能够应用 -k 选项强制终止或杀死 ipv4 / ipv6 套接字连贯

假如咱们想杀死 ipv4 ssh 套接字连贯

[email protected]:~$ ss -4
Netid         State         Recv-Q         Send-Q        Local Address:Port                 Peer Address:Port
tcp           ESTAB         0              0             192.168.1.80:ssh                   192.168.1.3:53155
tcp           ESTAB         0              36            192.168.1.80:ssh                   192.168.1.3:53152

[email protected]:~$

要终止第二个 ssh 会话,请应用上面的 ss 命令

[email protected]:~$ sudo ss -K dst 192.168.1.3 dport = 53152

无关 ss 命令应用的更多选项,请参见手册页

$ man ss

我的开源我的项目

  • course-tencent-cloud(酷瓜云课堂 – gitee 仓库)
  • course-tencent-cloud(酷瓜云课堂 – github 仓库)

正文完
 0