Linux中ss命令

本文详细介绍了ss命令,一种用于获取socket统计信息的工具,其优势在于能快速高效地显示大量socket连接的状态,尤其适用于服务器场景。文章对比了ss与netstat命令,强调了ss在解析服务名称、显示监听端口及进程方面的强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、ss是什么?

ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。

ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效。

2、常见命令参数

常用选项

-h, --help 帮助
-V, --version 显示版本号
-t, --tcp 显示 TCP 协议的 sockets
-u, --udp 显示 UDP 协议的 sockets
-x, --unix 显示 unix domain sockets,与 -f 选项相同
-n, --numeric 不解析服务的名称,如 "22" 端口不会显示成 "ssh"
-l, --listening 只显示处于监听状态的端口
-p, --processes 显示监听端口的进程(Ubuntu 上需要 sudo)
-a, --all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接
-r, --resolve 把 IP 解释为域名,把端口号解释为协议名称

3、常见实例

查看主机监听的端口

[root@ localhost ~]# ss -tnl
State      Recv-Q Send-Q Local Address:Port                Peer Address:Port             
LISTEN     0      128                *:22                             *:*                 
LISTEN     0      100        127.0.0.1:25                             *:*                 
LISTEN     0      128               :::22                            :::*                 
LISTEN     0      100              ::1:25                            :::*

通过 -r 选项解析 IP 和端口号

[root@ localhost ~]# ss -tlr
State      Recv-Q Send-Q Local Address:Port                 Peer Address:Port                
LISTEN     0      128              *:ssh                            *:*                   
LISTEN     0      100      localhost:smtp                           *:*                   
LISTEN     0      128             :::ssh                           :::*                   
LISTEN     0      100      localhost:smtp                          :::*  

使用 -p 选项查看监听端口的程序名称

[root@ localhost ~]# ss -tlp
State      Recv-Q Send-Q Local Address:Port                 Peer Address:Port                
LISTEN     0      128              *:ssh                            *:*                     users:(("sshd",pid=1259,fd=3))
LISTEN     0      100      127.0.0.1:smtp                           *:*                     users:(("master",pid=1351,fd=13))
LISTEN     0      128             :::ssh                           :::*                     users:(("sshd",pid=1259,fd=4))
LISTEN     0      100            ::1:smtp                          :::*                     users:(("master",pid=1351,fd=14)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值