SS是一个显示socket统计信息和监控Linux系统网络连接的命令行工具。它取代了现在已弃用的netstat命令。ss命令比netstat命令快得多,并且打印出更详细的网络统计信息。在本指南中,我们将重点介绍如何使用ss命令在Linux系统上监视套接字连接。(1)查看所有套接字连接在其基本形式中,不带任何参数,ss命令显示所有套接字或网络连接(TCP/UDP/UNIX),如图所示:不带任何参数,显示所有套接字或网络连接(TCP/UDP/UNIX)$ss为了更容易查看输出,输出可以通过管道传输到less,如下所示。$SS|less(2)查看TCP/UDP套接字连接要仅查看TCP套接字连接,请使用-t选项,如下所示$ss-t要过滤掉UDP连接,请传递-ua选项,如下所示。要过滤要丢弃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选项。pkumar@linuxtechi:~$ss-6NetidStateRecv-QSend-QLocalAddress:PortPeerAddress:Porticmp6UNCONN00*:ipv6-icmp*:*pkumar@linuxtechi:~$(8)查看所有socket连接Summary如果你想查看套接字连接的总体统计信息,包括TCP和UDP、IPv4和IPv6连接数,只需传递-s选项,如下所示。这将以表格格式打印出结果。$ss-s(9)按端口号过滤连接您也可以按端口号过滤连接。例如,在下面的示例中,我们过滤到SSH端口22的连接$ss-at'(dport=:22orsport=:22)'(10)查看不解析主机名的套接字连接默认情况下,ss命令尝试将ip地址解析为主机名。如果您希望ss命令阻止ip地址到主机名解析,则使用-n选项,例如pkumar@linuxtechi:~$ss-ntStateRecv-QSend-QLocalAddress:PortPeerAddress:PortESTAB00192.168。1.80:22192.168.1.3:53155ESTAB036192.168.1.80:22192.168.1.3:53152pkumar@linuxtechi:~$(11)列出socket连接的进程名和pid使用-p选项列出相关的网络连接关联进程名和pid,如下所示more(12)扩展输出使用-e选项显示套接字连接的扩展输出。扩展输出将显示套接字的uid、套接字的inode编号和套接字的uuid。列出扩展的tcp监听套接字$ss-elt列出扩展的udp监听套接字$ss-elu(13)查看内存使用情况使用-m选项查看下面一个套接字连接消耗了多少内存该命令将显示tcp连接的内存使用情况$ss-mt(14)终止IPv4/IPv6套接字连接您可以使用-k选项强制终止或终止ipv4/ipv6套接字连接假设我们要终止ipv4ssh套接字套接字连接pkumar@linuxtechi:~$ss-4NetidStateRecv-QSend-Q本地地址:端口对端地址:PorttcpESTAB00192.168.1.80:ssh192.168.1.3:53155tcpESTAB036192.168.1.80:ssh192.168。1.3:53152pkumar@linuxtechi:~$要终止第二个ssh会话,请使用下面的ss命令pkumar@linuxtechi:~$sudoss-Kdst192.168.1.3dport=53152有关ss命令使用的更多选项,请参见手册页$manss我的开源项目course-tencent-cloud(酷瓜云课堂-gitee仓库)course-tencent-cloud(酷瓜云课堂-github仓库)
