📜  linux命令中的ss代表-任何(1)

📅  最后修改于: 2023-12-03 15:32:42.689000             🧑  作者: Mango

Linux命令中的ss代表任何

ss 是一个 Linux 命令,它代表 socket statistics 也叫做 socket status ,它被用来显示网络系统中的套接字(sockets)信息。

安装

安装 ss 命令非常简单。

在 Debian / Ubuntu 系统中可以使用以下命令

sudo apt-get install iproute2

在 Fedora / CentOS / RHEL 系统中可以使用以下命令

sudo yum install iproute2
使用

ss 命令可以用来显示当前系统网络套接字的状态和统计信息。

以下是一些基本用法:

# 显示所有的 SOCKET 端口状态
$ ss -a
# 显示所有 TCP 端口状态
$ ss -at
# 显示所有 UDP 端口状态
$ ss -au
# 显示所有 UNIX 域套接字状态
$ ss -ax

以下是一些进阶用法:

# 统计所有在 TCP 状态为 SYN-SENT 的套接字
$ ss -a -o state syn-sent '( dport = :80 or sport = :80 )'
# 统计所有在 TCP 状态为 ESTABLISHED 的套接字
$ ss -t -o state established '( dport = :80 or sport = :80 )'
标识符

ss 命令支持以下标识符:

| 标识符 | 说明 | |--------|------| | a | 显示所有套接字 | | t | 显示所有 TCP 套接字 | | u | 显示所有 UDP 套接字 | | d | 显示所有 DCCP 套接字 | | w | 显示所有 RAW 套接字 | | x | 显示所有 UNIX 域套接字 | | f | 显示所有已知套接字 | | e | 显示所有已知但未被使用的套接字 | | m | 显示内存使用情况 | | n | 不解析服务名称 |

输出格式

ss 命令支持以下输出格式:

| 输出格式 | 说明 | |---------|------| | t | 将 TCP 端口名称转换为数字形式 | | r | 将 IP 地址转换为主机名 | | n | 不解析服务名称 |

例如,使用以下命令将显示所有 TCP 套接字:

$ ss -tln

输出结果的第一列将是"State",它表示套接字的状态。这个状态代表了套接字是打开的,被监听,还是被关闭了等等。其他的列表示协议名称,套接字类型,本地地址,远程地址,本地地址端口,远程地址端口,和进程 ID。

结论

ss 命令是一个非常有用的工具,它可以让你查看正在运行的套接字的状态和统计信息。通过使用不同的标识符和输出格式,你可以收集到更多有用的信息。如果你是一名 Linux 系统管理员或开发人员,那么 ss 将是你工具箱中的必备品之一。