简介
- ss命令
linux ss命令安装
ss
命令是 Linux 系统中用来显示套接字统计信息的工具,通常预装在大多数现代 Linux 发行版中,尤其是在使用 iproute2
包的系统上。如果你的系统上没有 ss
命令,可以按照以下步骤安装。
在 Debian/Ubuntu 系统上:
1 | sudo apt update |
在 CentOS/RHEL 系统上:
1 | sudo yum install iproute |
在 Fedora 系统上:
1 | sudo dnf install iproute |
在 Arch Linux 系统上:
ss
命令通常也包含在 iproute2
包中,所以可以使用:
1 | sudo pacman -S iproute2 |
验证安装:
安装完成后,可以通过以下命令确认 ss
命令是否已成功安装:
1 | ss --version |
这会显示 ss
命令的版本信息,表示已安装成功。
linux ss命令 详解
ss
命令是一个用于查看 Linux 系统中套接字(socket)信息的工具。套接字是网络通信的一种抽象,ss
命令可以显示与网络连接相关的详细信息,包括网络连接状态、监听端口、TCP/UDP 连接等。以下是一些常用的 ss
命令选项和用法:
1. 显示所有套接字信息:
1 | ss |
这将显示系统中所有的套接字信息,包括 TCP、UDP 和 UNIX 套接字。
2. 显示 TCP 连接信息:
1 | ss -t |
使用 -t
选项可以仅显示 TCP 连接的信息。
3. 显示 UDP 连接信息:
1 | ss -u |
使用 -u
选项可以仅显示 UDP 连接的信息。
4. 显示监听端口信息:
1 | ss -l |
使用 -l
选项可以仅显示监听(被动打开)的套接字信息。
5. 显示所有连接信息(包括监听和非监听):
1 | ss -a |
使用 -a
选项可以显示所有的套接字连接信息。
6. 显示详细信息:
1 | ss -e |
使用 -e
选项可以显示更详细的信息,包括进程ID和用户。
7. 显示进程名:
1 | ss -p |
使用 -p
选项可以显示与套接字关联的进程信息。
8. 显示连接状态:
1 | ss -s |
使用 -s
选项可以显示连接状态的统计信息。
9. 显示特定端口的连接信息:
1 | ss -t -p -o "sport = :<port_number>" |
使用 -o
选项可以根据特定条件过滤显示套接字信息,这里以显示指定端口的 TCP 连接为例。
10. 显示 UNIX 套接字信息:
1 | ss -x |
使用 -x
选项可以仅显示 UNIX 套接字信息。
11. 显示显示进程名的详细信息:
1 | ss -etp |
使用 -etp
选项可以显示 TCP 连接的详细信息,包括进程名。
12. 显示特定用户的连接信息:
1 | ss -t -p -u user_name |
使用 -u
选项可以根据指定的用户过滤显示连接信息。
13. 显示 TCP 拓扑图:
1 | ss -t -a |
使用 -a
选项显示所有 TCP 连接,包括监听和非监听,并且以拓扑图形式显示。
ss
命令提供了强大的功能,可用于检查系统中的网络连接和套接字信息。根据不同的需求,你可以选择不同的选项来查看和分析网络连接状态。
linux ss命令 常用技巧
以下是一些在使用 ss
命令时的常用技巧和选项,以更灵活地查看和管理系统的套接字信息:
1. 显示所有套接字信息:
1 | ss |
显示所有套接字信息,包括 TCP、UDP 和 UNIX 套接字。
2. 显示监听端口信息:
1 | ss -l |
只显示监听(被动打开)的套接字信息。
3. 显示详细信息:
1 | ss -e |
显示更详细的信息,包括进程ID和用户。
4. 显示进程名:
1 | ss -p |
显示与套接字关联的进程信息。
5. 显示连接状态的统计信息:
1 | ss -s |
显示连接状态的统计信息,包括各种状态的套接字数量。
6. 显示 TCP 连接信息:
1 | ss -t |
只显示 TCP 连接的信息。
7. 显示 UDP 连接信息:
1 | ss -u |
只显示 UDP 连接的信息。
8. 显示特定端口的连接信息:
1 | ss -t -o "sport = :<port_number>" |
根据特定条件过滤显示套接字信息,这里以显示指定端口的 TCP 连接为例。
9. 显示 UNIX 套接字信息:
1 | ss -x |
只显示 UNIX 套接字信息。
10. 显示 TCP 连接的详细信息:
1 | ss -etp |
显示 TCP 连接的详细信息,包括进程名。
11. 显示特定用户的连接信息:
1 | ss -u -p -a -Z user_name |
根据指定的用户过滤显示连接信息。
12. 显示 TCP 拓扑图:
1 | ss -t -a |
显示所有 TCP 连接,并以拓扑图形式显示。
13. 以 JSON 格式输出:
1 | ss -t -a -j |
以 JSON 格式输出套接字信息,方便进一步处理和分析。
14. 显示进程的网络套接字信息:
1 | ss -p -n |
显示进程的网络套接字信息,而不解析服务名。
15. 显示网络接口信息:
1 | ss -i |
显示网络接口信息,包括接口状态、收发数据包等。
16. 显示 TCP 性能统计信息:
1 | ss -t -i |
显示 TCP 性能统计信息,包括传输速率、拥塞窗口等。
这些技巧和选项能够使得在使用 ss
命令时更加灵活,根据具体需求选择合适的选项,以便更方便地查看和分析系统中的套接字信息。
ss – 查看端口状态信息
简介:
- ss 是一个 Linux 下用于查看套接字统计信息的命令。它提供了比 netstat 更全面和高效的功能
语法
1
ss [options]
选项:
- -t: 显示 TCP 套接字信息。
- -u: 显示 UDP 套接字信息。
- -w: 显示 RAW 套接字信息。
- -a: 显示所有套接字信息,包括监听和非监听状态。
- -s: 显示套接字统计信息,包括每个协议的统计数据。
- -p: 显示与套接字关联的进程信息。
- -n: 不进行服务名称解析,显示 IP 地址和端口号。
- -r: 显示路由表信息。
- -l: 仅显示监听状态的套接字。
- -o: 显示计时器信息
详解:
- 使用 ss 命令时,可以结合不同的选项来获取特定类型的套接字信息。例如,ss -t 显示所有 TCP 套接字信息,ss -u 显示所有 UDP 套接字信息,ss -l 显示所有监听状态的套接字信息
- ss 命令的输出包括以下列
- State: 套接字的状态,如 ESTABLISHED(已建立)、LISTEN(监听)等。
- Recv-Q: 接收队列的字节数。
- Send-Q: 发送队列的字节数。
- Local Address: 本地 IP 地址和端口号。
- Peer Address: 对端 IP 地址和端口号。
- Process(-p 选项时显示): 与套接字关联的进程信息
注:
- 通过 ss 命令,可以查看网络连接状态、套接字使用情况、进程与套接字的关联信息等。它在排查网络问题、监视网络连接和调试网络应用程序时非常有用
- 安装 iproute2 软件包:ss 命令是 iproute2 软件包的一部分,因此需要安装该软件包