良许Linux教程网 干货合集 Linux高手必备工具:掌握 LSOF 命令实时监控端口

Linux高手必备工具:掌握 LSOF 命令实时监控端口

LSOF(List Open Files)是一种针对Linux/Unix类操作系统的命令行监控工具,旨在提供有关活跃文件以及当前正在访问这些文件的进程的信息。

LSOF命令行工具对系统管理员和开发人员而言具有重要意义,它们能够:

  1. 识别正在使用特定文件或端口的进程: 这在处理端口冲突时尤为关键。LSOF命令可以让用户轻松找到当前正在使用某一文件或端口的进程,从而解决潜在的冲突问题。

  2. 检测已删除但仍被进程打开的文件: 当文件被删除但仍被进程占用时,可能会导致不必要的空间占用问题。LSOF命令可用于识别并解决此类情况,确保系统资源得到有效利用。

  3. 帮助排除错误: LSOF能够有效地帮助排除一些常见错误,例如”端口已在使用中”等问题,为系统管理和维护提供了便利。

  4. 跟踪网络活动: 用户可以利用LSOF命令来跟踪网络活动并监控网络连接,从而更好地了解系统的网络状态和行为。

  5. 调查文件访问模式: LSOF还可以用于调查文件的访问模式,有助于识别潜在的安全漏洞或异常行为,加强系统的安全性和稳定性。

通过本教程,您将学习如何使用LSOF命令来实时监控端口情况,为您的系统管理和开发工作提供更多便利和支持。

LSOF 命令的基本语法

LSOF命令的语法如下:

$ lsof [选项] [名称]

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

使用 LSOF 命令实时监控端口

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

linuxmi@linuxmi ~/www.linuxmi.com> lsof -v
image-20240317215944375
image-20240317215944375

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

列出网络进程信息

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

linuxmi@linuxmi ~/www.linuxmi.com> lsof -i

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

COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
gnome-sof 4244 linuxmi   22u  IPv4 121041      0t0  TCP linuxmi:56008->151.101.109.91:https (CLOSE_WAIT)
gnome-sof 4244 linuxmi   54u  IPv4 105799      0t0  TCP linuxmi:47418->151.101.109.91:https (CLOSE_WAIT)
gnome-sof 4244 linuxmi   56u  IPv4 121563      0t0  TCP linuxmi:41626->151.101.109.91:https (CLOSE_WAIT)
image-20240317220004652
image-20240317220004652

列出 TCP 连接

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

linuxmi@linuxmi ~/www.linuxmi.com> lsof -i TCP:1-1024

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

image-20240317220007594
image-20240317220007594

实时监控特定端口

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

linuxmi@linuxmi ~/www.linuxmi.com> lsof -i:443 -r3
image-20240317220010807
image-20240317220010807

实时监控 SSHD 端口 22

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

linuxmi@linuxmi ~/www.linuxmi.com> lsof -i:22 -r3

该命令每3秒持续监控并显示22端口网络连接的实时信息。这对于跟踪实时发生的更改(例如新的 SSH 连接或断开连接)特别有用。

实时监控端口范围

要实时监控指定端口范围 1 到 1024 内打开 TCP 连接的进程信息,可以使用以下命令:

linuxmi@linuxmi ~/www.linuxmi.com> lsof -i TCP:1-1024 -r3

实时监控所有端口

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

linuxmi@linuxmi ~/www.linuxmi.com> lsof -i -r5

以下输出包含每 5 秒后实时显示的有关进程及其关联网络套接字的详细信息:

image-20240317220014442
image-20240317220014442

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

linuxmi@linuxmi ~/www.linuxmi.com> lsof -i -E -r10
image-20240317220021422
image-20240317220021422

结论

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

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部