📅  最后修改于: 2023-12-03 14:43:58.791000             🧑  作者: Mango
在 Linux 系统中,我们经常需要查看正在使用的端口号。了解哪些端口正在使用可以帮助程序员进行网络调试、查找冲突或者监控系统安全隐患。本文将介绍如何使用 Shell/Bash 脚本来查看Linux系统上正在使用的端口。
netstat 是一个非常强大的网络命令行工具,它可以显示正在使用的端口、连接状态、IP 地址等信息。我们可以通过以下命令来查看当前正在使用的端口:
netstat -tuln
这个命令会列出当前的 TCP 和 UDP 连接,并显示每个连接的本地地址和外部地址,以及对应的状态。其中 -t
是用来显示 TCP 连接,-u
是用来显示 UDP 连接,-l
是用来显示处于监听状态的端口号,-n
是用来显示数字形式的 IP 地址和端口号。
ss 是一个更快速、更简洁而且更具可读性的网络工具,它是 netstat 的改进版本。同样,我们可以通过以下命令使用 ss 命令来查看正在使用的端口:
ss -tuln
也可以只查看 TCP 或者 UDP 连接:
ss -tln # 只查看 TCP 连接
ss -uln # 只查看 UDP 连接
与 netstat 不同,ss 命令在列出结果时不会显示进程 ID,所以如果还需要查看哪个程序在使用某个端口,可以使用其他工具。
lsof 是一个用于查看当前系统打开的文件列表的命令行工具。它可以用来显示哪个进程打开了哪个文件、网络连接,在查看端口时非常有用。我们可以通过以下命令来查看正在使用的端口:
lsof -i :端口号
例如查看端口号为 80 的使用情况:
lsof -i :80
这个命令会显示使用该端口的进程信息,包括进程 ID、进程名等。
以上是三种常用的方法来在 Linux 系统上查看正在使用的端口。你可以根据自己的需求选择其中一种方法来使用。使用这些命令可以帮助你更好地了解系统网络状况并进行调试和监控。
请注意,以上命令需要在具有适当权限的终端上执行。