如何在 Linux 中使用 ss 命令监控网络连接

如果您使用 Linux,那么您可能会需要更多地了解您的网络。 有几个工具可以帮助您做到这一点,有些工具比其他工具更复杂。 这 ss 命令是您可以依赖安装在许多机器上的东西,因此很容易知道。

什么是 ss 命令?

虽然两个字母的命令的名称可能看起来很神秘,但实际上非常简单。 与许多 Linux/Unix 命令一样,该名称是命令功能的缩写。 这里,ss 代表 Socket Statistics。

Socket Statistics 是旧的替代品 netstat 工具,旨在更易于使用和理解。 它只是显示有关套接字的信息。 这不仅包括最常用的 TCP 和 UDP 套接字,还包括 DCCP、RAW 和 Unix 域套接字。

基本用法

使用 ss 命令最简单的方法是不带参数地运行它。 这将显示大量数据,因此您可能希望通过管道传输它 less 为了更容易阅读。

事实上,这并不是特别有用。 它显示了大量信息,但信息量很大,难以阅读。 为了使它更容易,您可以过滤某些类型的套接字。

为了 example,您只能列出 TCP 套接字。

或者,您可以改为列出 UDP 套接字。

默认情况下,这些选项仅列出已建立连接的套接字。 要列出所有正在侦听或已连接的 TCP 套接字,您可以运行以下命令:

到目前为止,这一切似乎都很简单。 让我们了解更多。

使用 ss 命令可以做的有用的事情

现在您已经熟悉了基础知识,是时候开始使用 ss 命令来监控您的网络了。 您可以做很多事情,但这里有一些想法可以帮助您入门。

监控 TCP 状态

如果您熟悉网络,您已经知道这一点,但是 TCP 连接有不同的阶段。 这些详细说明了连接的整个生命周期。 我们可以使用 ss 命令。

除了“建立”和“关闭”等标准 TCP 状态之外,ss 命令还支持一些自定义过滤器。 为了 example,“连接”状态就是除了“监听”和“关闭”之外的所有 TCP 状态。 要使用它,请运行以下命令:

IPv4 和 IPv6

如果您的网络使用 IPv6 和 IPv4 地址的组合,您可以使用 ss 命令过滤它们。 只需使用 -4 或者 -6 标志。 如果要查看所有 IPv4 连接,可以绑定 TCP 状态。

如何使用-ss-command-ipv4

如果您想查看所有 IPv6 套接字,只需运行以下命令:

什么进程正在使用这个套接字?

如果你知道一个套接字正在监听但不知道为什么,你可以很容易地找到它。 运行以下命令将显示所有连接的 IPv4 TCP 套接字的名称和进程 ID。

如何使用-ss-command-tcp-states

显示摘要

有时您只想简要了解给定机器上的套接字。 这也是更容易运行的命令之一,因为它完全由字母“s”和一个破折号组成:

如何使用 ss 命令摘要

这提供了计算机上所有套接字的摘要,并显示它们是 IPv4 还是 IPv6。

想了解更多关于您的网络的信息吗?

这只是您可以使用 ss 命令执行的操作的开始。 这是一个强大的工具,非常值得学习。 要深入挖掘,请打开终端并查看工具手册页中的文档。 赶紧跑 man ss 开始。

如果你想保护你的机器,ss 很方便,但它不是唯一可用的工具。 查看我们的 Linux 上检查开放端口指南以了解更多信息。

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅