替代netstat的命令之一【ss】 使用实例

ss命令简介

ss (socket statistics) 是一个命令行实用程序,用于调查 Linux 系统中的套接字。它显示与netstat命令类似的信息。它可以显示更多的 TCP 和状态信息。

命令输出结果包含以下列:

title描述
Netid套接字的类型。例如 u_str(Unix 流)、icmp6、tcp、udp 等。
state套接字的状态。ESTAB:建立连接;UNCONN:未连接的连接;LISTEN:监听连接
Recv-Q连接到此套接字的用户程序未复制的字节数
Send-Q远程主机未确认的字节数。
Local Address:Port本地ip地址:端口
Peer Address:Port远程机器ip地址:端口

使用 ss 命令的不同示例

命令格式:

$ ss [选项]

重要 [选项] 参数:

  • -a:显示所有套接字
  • -l:只显示监听套接字
  • -t:仅显示 TCP 套接字
  • -u:仅显示 UDP 套接字
  • -x:仅显示 UNIX 域套接字
  • -m:显示套接字内存使用情况
  • -s:显示汇总统计信息

1 用ss命令显示所有连接

使用-aor–all选项,您可以查看系统中的所有监听和非监听连接。

$ ss -a

2 使用 ss 命令只显示监听套接字

默认情况下,监听套接字不会显示在输出中。要查看监听套接字,可以使用-l 或者 --listening选项。

注:-a 会包含监听套接字结果。

$ ss -l
或者
$ ss --listen

3. ss命令显示所有TCP连接

可以使用-t或–tcp选项来过滤 TCP 连接的输出。 以下命令显示系统中的所有 TCP 连接。

$ ss -at
或者
$ ss -a --tcp

4. ss命令显示所有UDP连接

类似的,可以使用-u 或者 --udp选项在输出中仅查看 UDP 连接。

$ss -au
或者
$ ss -a --udp

5. 显示监听 TCP 和 UDP 套接字

如果要查看系统中正在监听的 TCP 和 UDP 套接字,可以使用以下命令。

$ ss -ltu

6. 使用 ss 命令仅显示 UNIX 域套接字

可以使用-x或–unix选项仅显示系统中的 UNIX 域套接字。

$ ss -x
或者
$ ss --unix

7. 使用 ss 命令显示所有 IPv4 套接字

可以使用-4或–ipv4选项来列出系统中的 IPv4 套接字。

$ss -a4
或者
$ ss -a --ipv4

8. 使用 ss 命令显示所有 IPv6 套接字

可以使用-6 或者 --ipv6 选项列举系统的IPv6套接字。

$ ss -a6
或者
$ ss -a --ipv6

9. ss 命令显示主机名

-r 或者 --resolve选项显示名称而不是主机或端口的数字地址。

$ ss -r
或者
$ ss --resolve

10. 使用 ss 命令显示详细的套接字信息

可以使用-e 或者 --extended选项在输出中显示详细的套接字信息。

$ss -e
或者
$ ss --extended

11. 使用 ss 命令显示内存使用情况

使用-m 或 --memory选项,ss显示系统中的套接字内存使用情况。

$ ss -m
或者
$ ss --memory

12. ss 命令显示正在使用套接字的进程

-p 或者 --processes 选项显示正在使用套接字的进程。

$ ss -p
或者
$ ss --processes

13.使用ss命令显示内部TCP信息

可以使用-i 或 --info 选项查看内部 TCP 信息。

$ ss -i
或者
$ ss --info

14. ss 命令显示汇总统计信息

代替显示所有套接字,-s或–summary命令在输出中打印套接字的摘要统计信息。

$ ss -s
或者
$ ss --summary

15.用ss命令显示定时器信息

使用 -o 或者 --options 命令在输出中显示网络计时器信息。

$ ss -o
或者
$ ss --options

16 用ss命令显示指定family类型的套接字

使用-f 或者 --family选项。可用的FAMILY:unix, inet, inet6, link, netlink

$ ss -f FAMILY
或者
$ ss --family FAMILY

17 ss命令关闭套接字

使用-K 或者 --kill选项将强制关闭套接字并打印关闭的套接字。此操作需要 root 权限才能终止套接字。

$ sudo ss -K
或者
$ sudo ss --kill

18. 在 ss 命令输出中隐藏标题行

-H 或者 --hide 选项抑制或隐藏输出中的标题行。

$ ss -H
或者
$ ss --hide

19.显示所有已建立的ssh连接

可以使用以下命令显示所有已建立的 SSH 连接到 Linux 服务器

$ ss -o state established '(dport = :ssh or sport = :ssh)' 

20. 使用 ss 命令定义连接状态

我们可以使用-o state 列出与相应状态匹配的连接。支持的状态值如下:

STATE-FILTER := {all|connected|synchronized|bucket|big|TCP-STATES}
TCP-STATES := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|closed|close-wait|last-ack|listen|closing}
connected := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
synchronized := {established|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
bucket := {syn-recv|time-wait}
big := {established|syn-sent|fin-wait-{1,2}|closed|close-wait|last-ack|listen|closing}

例如,列举所有connected的链接:

ss -o state connected | less
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值