网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

学习 ss 命令替代 netstat,提升 Linux 运维效率?

GG网络技术分享 2025-11-24 05:24 3


这可真是让我好奇心大起的事情啊!我在网上查了hen多资料,可是dou是些模模糊糊的,让我有点无奈,是个狼人。。

ss 快的秘诀是什么?

ss命令快得秘诀啊,主要是主要原因是它用到了TCP协议栈中的tcp_diag。tcp_diag是一个分析统计的模块, Ke以获取Linux内核中的第一手信息,这样就确……哎呀,具体怎么确的,我也说不清楚,引起舒适。。

命令参数怎么用?

我这里自己摸索了一个参数组合, 现在还没完全记牢,每次还得kan一下文档:

  1. ss -atlp

这个组合是我自己的,现在还没完全背下来每次还得翻翻文档。

net-tools 包要被替换了

大体上, 我们Nengkan出来主要是 net-tools 这个包,将要被 iproute 这个包给替换。理由大概是这个包太老了不支持hen多内核新的特性,界面不够优化,使用起来有点困难。net-tools 里面的 ifconfig 确实有点多缺点,未来可Neng不再维护 net-tools 了,我深信...。

netstat 的基本用法

上面介绍了 netstat 的ZuiZui基本的一种用法, 其他用法当然还有hen多,但是先略过不表。Ru果想使用 ss 命令来代替 netstat 的话,我们怎么达到类似的效果呢?

现在的 netstat 和 ifconfig 命令, dou是通过读写 /proc 目录下的虚拟文件来完成任务的,这个小东西在小业务系统上没问题,但是在大规模系统里可Neng会影响系统的性Neng。比一比的话, ss 和 ip 两个命令,使用的是 Linux 内核的 netlink sockets 特性。这俩根本就不同。虽然老命令也Ke以用新原理重写, 但是其实并没有人那么Zuo,主要主要原因是不同程序员团体的一些政治问题,大家意见不合……,将心比心...

调试命令的妙用

通过如上命令,我们kan到了系统所有打开的 socket。Ru果你启动了一种网络服务, 或者自己开发了一个网络服务打开端口,通过这个命令dou应该Nengkan到自己打开的端口。 别纠结... Ru果kan不到,应该就是没有正确打开端口,要好好查询是什么原因。所以这是一个hen好用的调试命令。

iproute 套件的优势

On or side, iproute suite, introduced around kernel line, has both a much better and consist 至于吗? ent interface, is more powerful, and is almost ten years old, so nobody would say it’s untested.

我们的计划是替换 net-tools

Hence, our plans are to replace net-tools completely with iproute, maybe leading route for or distributions to follow. Of course, most people and tools use and remember venerable old interface, so first step would be to write wrappers, trying to be compatible with net-tools.

netstat 的参数组合

netstat 有hen多hen多参数, 我一般就用一种组合, 对,就这个意思。 以至于后来Yi经想不起来为什么是这几个参数了:

  1. netstat -npl

得到的后来啊是这样的:

命令展示后来啊

不说闲话了说说几个参数,a 参数是显示所有的意思,t 参数意思是显示 TCP 协议的,l 代表正在 LISTENING 状态的,p 代表进程信息。从上面的表里我们kan到 p 参数打印的信息,组织得不如 netstat 精炼。 整一个... 但是geng为完善一点,显示了进程名字和 PID 以及 FD。但是主要原因是用了两重小括号,key/value 的格式,再加引号,kan起来有点乱。当然我们Ke以用一些命令去格式化它,不过还是太麻烦了。

ss 命令的后来啊展示

这也行? 这是 ss 命令呈现出来的后来啊, Ke以kan到,格式和 netstat hen不一样,不像 netstat 命令那么紧凑和直观。这是hen多人诟病这个命令的原因之一。当然批判这种批判的声音认为,人们只是死守了一种习惯,不愿前行。当然了 这么说也未尝不对,就拿 Charles 个人就算我 年参加工作,才学会 netstat 命令,那我到现在也使用了将近十年,从来没有变过当然kan得无比顺眼啦。

技术人要与时俱进

咱们这些Zuo技术的, 也还是要与时俱进比较好,虽然以前的那些命令熟悉,好用,手到擒来甚至无法忘记,但是新的还是要保持学习。hen多发型版Yi经默认不带有 net-tools 包了 虽然仍然Ke以手动安装回来但是这背后的态度Yi经hen明确了。 整一个... 另一方面我们Zuo技术,也要谨防自己的大脑僵化,还是要保持对新事物的好奇心和热情。

netstat 的替代品

This program is mostly obsolete. Replacement for netstat is ss. Replacement for netstat -r is ip route. Replacement for netstat -i is ip -s link. Replacement for netstat -g is ip maddr.

ss 命令的争议

不过 Zui近有一次安装好一个 Ubuntu 发型版,发现默认没有安装 netstat,觉得非常奇怪,自己手动安装后发现 man pages 提示,netstat 命令Yi经是 deprecated 了建议使用 ss 命令代替,是不是?。

ss 命令的名字不好

当然 也有一种理由是老外提出来的,说 ss 这个命令的名字不好,其实 ss 可Neng是 socket statistics 的意思,缩写以后竟然只有两个字母,不太好联想,不像 netstat 那么直观。当然这是我的解释,不是老外抱怨的理由,他们抱怨的是每每提及 ss,他们会联想起希特勒!是不是匪夷所思, 我是 后我这个年代的人,对这个dou没有什么印象,关键我们用中文为主,估计大家kan到 ss Zui多联想到梯子,怎么dou不会想到希特勒。这个大纳粹有一个武装部队,以前叫党卫队特别机动部队,后来改名叫武装党卫队。它的德语简称正是SS。

net-tools 的未来

Luk Claes and me, as current maintainers of net-tools, we’ve been thinking about it’s future. Net-tools has been a core part of Debian and any or linux based distro for many years, but it’s showing its age.,我跪了。

当然 深层次的还有,我们使用这样的调试命令,本质上还是希望获知内核的状态的,其实内核Yi经改变了 networking 模块的整个原理,另一方面我还要求命令像从前那样去展示信息,展示层面的格式和真实原理Yi经背离,所以从长远kan,替代这两个命令才是必然,脑子呢?。

It doesnt support many of modern features of linux kernel, interface is far from optimal and difficult to use in automatisation, and also, it hasn’t got much love in last years.


提交需求或反馈

Demand feedback