lsof是一种适用于 linux/unix 等操作系统的命令行监控工具。lsof 命令提供了有关活动文件以及当前正在访问这些文件的进程的信息。
LSOF 命令行工具对于系统管理员和开发人员而言非常有帮助,它允许他们:
在本篇教程中,您将学习如何使用 LSOF 命令来监控实时端口。
LSOF 命令的基本语法::
LSOF命令的语法如下:
$ lsof [选项] [名称]登录后复制
选项是与 LSOF 命令一起使用的标志。名称代表文件名、PID、用户名或网络文件。根据提供的选项,LSOF 命令显示与这些名称对应的打开文件的列表。
使用 LSOF 命令实时监控端口::
LSOF 默认包含在许多 Linux 系统中。如果尚未安装,您必须手动下载并安装可用的软件包之一。要检查系统上的 LSOF 安装,请使用以下命令显示已安装的版本:
linuxmi@linuxmi ~/www.linuxmi.com> lsof -v登录后复制
需要注意的是,要以适当的权限使用 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)登录后复制
列出 TCP 连接::
您可以根据特定条件过滤输出。例如,您可以使用“lsof -i tcp”仅列出与 TCP 连接关联的进程。
linuxmi@linuxmi ~/www.linuxmi.com> lsof -i TCP:1-1024登录后复制
上面这个命令过滤有关在 1 到 1024 的指定端口范围内打开 TCP 连接的进程的信息。这对于识别哪些进程正在使用与公共服务关联的已知端口非常有用。
实时监控特定端口::
使用LSOF,您可以实时监控特定端口。例如,您想要监控端口 443 上与“HTTP”相关的进程,该进程每 3 秒更新一次。为此,请使用以下命令实时监控端口 80:
linuxmi@linuxmi ~/www.linuxmi.com> lsof -i:443 -r3登录后复制
实时监控 SSHD 端口 22::
要监视在端口 22 上运行的所有 SSHD 连接,请运行以下命令:
linuxmi@linuxmi ~/www.linuxmi.com> lsof -i:22 -r3登录后复制
该命令每3秒持续监控并显示22端口网络连接的实时信息。这对于跟踪实时发生的更改特别有用。
实时监控端口范围::
要实时监控指定端口范围 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 秒后实时显示的有关进程及其关联网络套接字的详细信息:
同样,您也可以使用 LSOF 命令仅监视“已建立”的连接:
linuxmi@linuxmi ~/www.linuxmi.com> lsof -i -E -r10登录后复制
结论::
在本教程中,我们学习了如何使用 LSOF 命令实时监控端口。该命令还可以帮助系统管理员和其他 Linux 用户监视网络连接,包括所有活动或开放的端口。我们希望本指南能够帮助您了解如何使用具有不同选项的 LSOF 命令并实时监控不同的端口和进程。