代码编织梦想

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

ss-command-output-without-agruments

为了更容易查看输出,可以将输出通过管道输送到 less,如下所示。

$ ss | less

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

要只查看 TCP scoket 连接,可以使用 -t 选项,如下所示

$ ss -t

view-tcp-network-connection-ss-command

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

要过滤掉 UDP 连接,可以使用 -ua 选项,如下所示

$ ss -ua

UDP-Network-Connection-ss-command

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

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

$ ss -l

List-all-listening-sockets-ss-command

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

缩小搜索结果的范围,只列出 TCP 侦听连接,可以使用 -lt 选项。

$ ss -lt

List-all-tcp-listening-sockets-ss-command

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

缩小搜索结果的范围,只列出 UDP 侦听连接,可以使用 -lu 选项。

$ ss -lu

List-all-udp-listening-sockets-ss-command

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

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

$ ss -a

Listening-NonListening-Socket-Connections-ss-command

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

要查看当前的 IPv4 套接字连接,可以使用 -4 选项。

$ ss -4

Ipv4-Socket-Session-ss-command

要查看当前的 IPv6 套接字连接,可以使用 -6 选项。

pkumar@linuxtechi:~$ ss -6
Netid        State         Recv-Q         Send-Q             Local Address:Port                      Peer Address:Port
icmp6        UNCONN        0              0                   *:ipv6-icmp                            *:*
pkumar@linuxtechi:~$

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

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

$ ss -s

Socket-Connections-summary-ss-command

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

您还可以通过端口号过滤连接。例如,在下面的示例中,我们过滤了连接到 SSH 端口 22 的连接

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

Filter-Socket-Connections-ss-command

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

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

pkumar@linuxtechi:~$ 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
pkumar@linuxtechi:~$

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

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

$ ss -p | more

Socket-Connection-Process-Name-PID

(12) 扩展输出

使用 -e 选项显示套接字连接的扩展输出。扩展输出将显示套接字的 uid、套接字的 inode 号和该套接字的 uuid。

列出扩展的 tcp 侦听套接字

$ ss -elt

Extended-socket-connection-details

列出扩展的 udp 侦听套接字

$ ss -elu

(13) 查看内存使用情况

使用 -m 选项可以查看套接字连接消耗了多少内存

Socket-Memory-Usage-Format

下面的命令将显示 tcp 连接的内存使用情况

$ ss -mt

TCP-Socket-Memory-Usage-ss-command

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

可以使用 -k 选项强制终止或杀死 ipv4 / ipv6 套接字连接

假设我们想杀死 ipv4 ssh 套接字连接

pkumar@linuxtechi:~$ 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

pkumar@linuxtechi:~$

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

pkumar@linuxtechi:~$ sudo ss -K dst 192.168.1.3 dport = 53152

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

$ man ss

我的开源项目

socket怎么同时监听两个端口_Socket和TCP连接过程解析-爱代码爱编程

一. 背景 1.完整的套接字格式{protocol,src_addr,src_port,dest_addr,dest_port}。 这常被称为套接字的五元组。其中protocol指定了是TCP还是UDP连接,其余的分别指定了源地址、源端口、目标地址、目标端口。但是这些内容是怎么来的呢? 2.TCP协议栈维护着两个socket缓冲区:send bu

centost查看网络信息_监控io性能、free命令、ps命令、查看网络状态、Linux下抓包...-爱代码爱编程

一、监控io性能 iostat命令 iostat命令被用于监视系统输入输出设备和cpu的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出cpu使用情况。通vmstat一样,iostat也有一个弱点,就是它不能对耨个进程进行深入分析,仅对系统的整体情况进行分析。 iostat -x (查看磁盘状态) iostat和sar是同一个包,安装s

linux查看进程socket信息,linux命令大全之ss命令详解(获取socket统计信息)-爱代码爱编程

ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,

linux网络状态工具ss命令详解,Linux网络状态工具ss命令使用详解-爱代码爱编程

ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命

linux网络状态工具ss命令详解,Linux网络状态工具ss命令使用详解(示例代码)-爱代码爱编程

ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命

linux网络状态工具ss命令详解,Linux 网络状态工具之ss 命令使用介绍-爱代码爱编程

今天小编要跟大家分享的文章是关于Linux 网络状态工具 之ss 命令使用介绍。ss命令用于显示socket状态,他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计。 它比其他工具展示等多tcp和stat

linux网络状态工具ss命令详解,Linux 网络状态工具 ss 命令使用详解-爱代码爱编程

ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命

linux 中如何使用 id 命令_奋斗的工程师的博客-爱代码爱编程

Linux 中如何使用 id 命令 我从cnaaa.com购买了服务器。 在 Linux 中,id 命令用于显示用户的真实有效的用户ID和组ID。 本文我们通过一些例子来介绍一下如何使用 id 命令。 Linux 中

linux外壳程序编程 shell编程 引号详解_睡觉特早头发特多的博客-爱代码爱编程

shell是命令语言、命令解释程序及程序设计语言的统称; shell是一个命令语言解释器,它拥有自己内建的shell命令; Shell(Bash)单引号、双引号和反引号用法详解; 尽量使用 $(命令) 的方式来引用命令的输出,而不要使用反引号。 前言 1.shell变量的定义及其使用 2.位置参数和环境变量 3.shell中的特殊字符 目

python 代码 c 执行_xiaoma_bk的博客-爱代码爱编程

python C python 路径 当我们导入一个模块时:import xxx ,默认情况下python解释器会搜索当前目录、已安装的内置模块和第三方模块。 临时添加路径 sys.path 返回的是一个列表,该路

centos7 kibana-7.16.3部署_小冰-helloworld的博客-爱代码爱编程

tar -zxvf kibana-7.16.3-linux-x86_64.tar.gz mv kibana-7.16.3-linux-x86_64 kibana-7.16.3 #可以用创建es的账户 useradd es chown -R es:es /opt/kibana-7.16.3 su es #配置文件 kibana.yml server.po

grafana api---这个api令我发愁!_酒千殇的博客-爱代码爱编程

文章目录 序言Create API tokensFolder HTTP APIDashboard HTTP APIIdentifier (id) 和 unique identifier (uid)的区别 Aler

deepin20安装mysql8最新版_荒野雄兵的博客-爱代码爱编程

前言 电脑:组装台式机 系统:Deepin20.6 MySQL版本:8.0.30(适用于任何最新版) 网上有很多的安装方式,也有很多的博客讲怎么安装,但是基本上都是一知半解,装的时候老是出问题。作为一个多年的老程序员,今天