Linux使用LSOF实时监控端口

2024-12-03 14:47:16 667

Linux使用LSOF实时监控端口


欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。


如何使用LSOF实时监控端口

LSOF(List Open Files)是一种用于 Linux/Unix 类操作系统的命令行监控工具。LSOF 命令提供有关活动文件和当前正在访问它们的进程的信息。

LSOF 命令行工具对系统管理员和开发人员非常有利,允许他们:

1.确定当前正在使用特定文件或端口的进程,这在发生端口冲突时尤其重要

2.检测已删除但仍被进程打开的文件,这可能会导致不必要的空间消耗;LSOF 命令用于识别和解决此类情况

3.帮助有效地排除错误,例如“端口已在使用中”

4.跟踪网络活动并打开网络连接以进行监控

5.调查文件访问模式,有助于识别潜在的安全漏洞

接下来我们将学习如何使用LSOF命令来监控实时端口。


LSOF 命令的基本语法

LSOF命令的语法如下:

$ lsof [选项] [名称]

选项是与 LSOF 命令一起使用的标志。名称代表文件名、PID(进程 ID)、用户名或网络文件(IPv4、IPv6)。根据提供的选项,LSOF 命令显示与这些名称对应的打开文件的列表。

使用 LSOF 命令实时监控端口

LSOF 默认包含在许多 Linux 系统中。如果尚未安装,您必须手动下载并安装可用的软件包之一。要检查系统上的 LSOF 安装,请使用以下命令显示已安装的版本:

lsof -v

image.png

需要注意的是,要以适当的权限使用 LSOF 命令,有关进程和网络连接的一些信息可能需要提升的超级用户权限,并且您可能需要使用“sudo”以管理权限运行该命令。

列出网络进程信息

当您使用“-i”选项运行 LSOF 命令时,它会显示有关具有网络连接的进程的信息,例如侦听套接字或已建立的连接。

lsof -i

上一个命令显示有关进程名称 (COMMAND)、进程 ID (PID)、用户 (USER)、文件描述符 (FD)、连接类型 (TYPE)、本地和远程地址以及连接状态的信息。您应该看到以下输出:

image.png

列出 TCP 连接

您可以根据特定条件(例如特定类型的连接或端口)过滤输出。例如,您可以使用“lsof -i tcp”仅列出与 TCP 连接关联的进程。

lsof -i TCP:1-1024

上面这个命令过滤有关在 1 到 1024 的指定端口范围内打开 TCP 连接的进程的信息。这对于识别哪些进程正在使用与公共服务关联的已知端口非常有用。

image.png

实时监控特定端口

使用LSOF,您可以实时监控特定端口。例如,您想要监控端口 443 上与“HTTP”相关的进程,该进程每 3 秒更新一次。为此,请使用以下命令实时监控端口 80:

lsof -i:443 -r3

image.png

实时监控 SSHD 端口 22

要监视在端口 22 上运行的所有 SSHD 连接,请运行以下命令:

lsof -i:22 -r3

image.png

您可以使用 LSOF 命令实时监控所有网络连接。例如,您想要连续运行监控并每 5 秒显示一次有关网络连接的实时信息。

lsof -i -r5

image.png

同样,您也可以使用 LSOF 命令仅监视“已建立”的连接:

lsof -i -r10|grep ESTABLISHED

image.png

通过以上内容我们学习了如何使用 LSOF 命令实时监控端口。该命令还可以帮助系统管理员和其他 Linux 用户监视网络连接,包括所有活动或开放的端口。我们希望这篇文档能够帮助您了解如何使用具有不同选项的 LSOF 命令并实时监控不同的端口和进程。


蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。

更多技术知识,蓝队云期待与你一起探索。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: