netstat 是一个在多数类Unix系统(包括Linux、macOS等)上都可以使用的命令行工具,用于显示计算机网络连接、路由表、接口统计等信息。

-tnlp 是 netstat 命令的几个选项组合,每个字母代表一个特定的功能:

  • -t (TCP): 显示TCP传输协议的连接状态。

  • -n (Numeric): 显示IP地址和端口号,而不是尝试解析域名和服务名称。

  • -l (Listening): 仅显示监听中的服务端口,即那些等待进来的连接的端口。

  • -p (Program): 显示监听端口的进程ID及其名称,需要有足够的权限(通常是root权限)才能看到所有进程的信息。

使用 netstat -tnlp 命令,你可以查看系统上所有以TCP协议监听的端口和与这些端口相关联的进程。这对于系统管理员来说是一个非常有用的命令,因为它可以帮助你了解哪些服务正在运行,以及它们使用的端口号。这对于网络故障排除和安全审计非常重要。

请注意,根据你使用的系统版本和配置,netstat 命令可能已被其他工具(如 ss)替代,因为 netstat 被认为是一个过时的工具。在最新的Linux系统上,ss 提供了类似甚至更高级的功能。

ss 是一个用于查看系统上的套接字统计信息的工具

它可以显示和 netstat 类似的信息,但它更快,能够显示更多的信息,并且可以处理更大量的连接。ss 是 socket statistics 的简写,它随着较新的Linux发行版一起提供,作为 netstat 的现代替代品。

ss 的用法与 netstat 类似,但它提供了一些更高级的过滤和显示选项。以下是一些常见的 ss 命令选项:

  • -t: 显示TCP套接字。

  • -u: 显示UDP套接字。

  • -l: 仅显示处于监听状态的套接字。

  • -p: 显示进程使用的套接字。

  • -n: 不尝试解析服务名称,即直接显示端口号。

  • -a: 显示所有套接字(默认情况下,不显示监听套接字)。

例如,如果你想查看所有正在监听的TCP端口及其关联的进程,可以使用:

ss -tlnp 

这个命令的输出将包括本地和远程地址、端口号、套接字状态以及监听该端口的进程信息。

ss 命令还支持更复杂的查询,例如,可以使用过滤器来查找特定状态的连接或特定端口的连接。

由于 ss 提供了更快的性能和更丰富的特性,它通常被推荐用于诊断问题和监视系统上的网络连接。

Q.E.D.

  • reword 您的打赏,就是俺创作的动力