‘ss -s’ 的输出是什么意思?

‘ss -s’ 的输出是什么意思?

我无法理解 Linux 的输出ss(套接字统计信息)命令。我无法理解ss -s

例如:

[root@dls2304-1 ~]# ss -s
Total: 973 (kernel 996)
TCP:   600 (estab 280, closed 73, orphaned 0, synrecv 0, timewait 0/0), ports 333

Transport Total     IP        IPv6
*         996       -         -
RAW       1         1         0
UDP       157       128       29
TCP       527       512       15
INET      685       641       44
FRAG      0         0         0

我的问题:

是什么Total: 973 (kernel 996)意思? 是什么Total和是什么kernel? 为什么Total看起来比小kernel

在这一行中TCP: 600 (estab 280, closed 73, orphaned 0, synrecv 0, timewait 0/0), ports 333,这个词的ports意思是什么?

和这个:

Transport Total     IP        IPv6
*         996       -         -

星号 ( *) 代表什么意思?

它们超出了我的理解范围。我找不到有关ss命令输出规范的文档。你能帮我吗?

答案1

首先,我要明确说明,我这个答案真的是“即兴发挥”。作为一名系统管理员,我有网络经验,但我的网络知识不如大多数人那么深厚。所以希望我能回答正确。如果有人比我更了解,请评论甚至编辑以纠正。

当你运行ss(套接字统计信息)命令,带有-s显示套接字状态的标志。因此知道:

是什么Total: 973 (kernel 996)意思? 是什么Total和是什么 kernel? 为什么Total看起来比小kernel

据我所知,系统套接字在使用后不会立即过期。因此据我所知,它973反映了总活动套接字数减去过期套接字数,但996连接到内核的套接字数包括23内核尚未清理的剩余杂散套接字。这个关于内核调优的页面提供了很好的概述内核如何处理套接字以及如何调整系统以便在内核级别更好地管理套接字的概念。

在这一行中TCP: 600 (estab 280, closed 73, orphaned 0, synrecv 0, timewait 0/0), ports 333,这个词的ports意思是什么?

只是ports 333对系统上特定时刻所有端口活动的统计。匹配和333的总和。有关这些端口的详细信息将总结在该列表下方。但在套接字的上下文中,该行基本上表明有可用的套接字,其中,以某种方式与系统上的端口相关联。有关套接字与端口的更多详细信息,请阅读此优秀答案estab 280closed 73600600333堆栈溢出

星号 ( *) 代表什么意思?

在示例上下文中,您展示:

Transport Total     IP        IPv6
*         996       -         -

看到996内核总计了吗Total: 973 (kernel 996)?这*与内核级别的套接字相关,无论其传输层如何,都只是打开/管理套接字。

但话虽如此,是的......这对于新手来说相当令人困惑。

相关内容