新闻资讯

如何在 Linux 系统中查看端口占用情况

2025-03-16

在 Linux 系统的运维和开发过程中,查看端口占用情况是一项极为基础且重要的操作。当我们部署新的网络服务,或是排查网络故障时,往往需要确定特定端口是否已被占用以及是哪个进程在占用该端口。下面将详细介绍几种在 Linux 系统中查看端口占用情况的常用方法。

使用 lsof 命令

lsof(list open files)是一个用于列出当前系统打开文件的工具,由于网络连接也是以文件的形式存在于系统中,因此可以利用它来查看端口占用情况。具体命令格式为:lsof -i :端口号。例如,要查看 80 端口的占用情况,在终端中输入lsof -i :80,回车后系统会输出一系列信息。输出结果中,每一行代表一个打开的文件,也就是一个网络连接或端口占用情况。其中,COMMAND列显示占用端口的进程名称,PID列是该进程的 ID,USER列表示进程所有者,FD列表示文件描述符,TYPE列显示文件类型(如 IPv4、IPv6 等网络套接字),DEVICE列表示设备编号,SIZE/OFF列显示文件大小或偏移量,NODE列是文件的 inode 节点号,而NAME列则清晰地展示了占用端口的具体网络地址和端口号。通过这些信息,我们能快速确定是哪个进程在占用 80 端口。

使用 netstat 命令

netstat 是一个功能强大的网络工具,可用于显示网络连接、路由表等网络相关信息,也能用来查看端口占用。使用netstat -tuln | grep 端口号命令来查看特定端口。其中,-t参数表示显示 TCP 连接,-u表示显示 UDP 连接,-l用于显示处于监听状态的端口,-n则以数字形式显示地址和端口,不进行 DNS 解析,这样可以加快命令执行速度。grep命令用于过滤出包含指定端口号的行。例如,若要查看 TCP 协议的 22 端口(通常用于 SSH 服务)的占用情况,输入sudo netstat -tuln | grep 22。因为 netstat 命令获取一些网络信息时需要管理员权限,所以这里使用了sudo。命令执行后,输出结果会展示本地地址(Local Address)、外部地址(Foreign Address)以及连接状态(State)等信息。若某一行的本地地址列显示为0.0.0.0:22,表示该服务器在所有 IP 地址上监听 22 端口;若显示为127.0.0.1:22,则说明只在本地回环地址上监听,外部无法通过网络访问该端口。通过State列的LISTEN状态,可确认该端口处于监听状态,即有进程在占用此端口提供服务。

使用 ss 命令

ss 是新一代的网络状态查看工具,作为 netstat 的替代,它具有更高的性能和更丰富的功能。使用ss -tuln | grep 端口号命令来查看端口占用情况,参数含义与 netstat 类似。例如,查看 UDP 协议的 53 端口(DNS 服务常用端口),输入ss -tuln | grep 53。ss 命令的输出格式简洁明了,同样会展示本地地址、外部地址和连接状态等信息。与 netstat 相比,ss 在处理大量连接时效率更高,尤其在高并发的网络环境中,它能更快速地获取网络状态信息,帮助我们及时了解端口占用情况。

其他相关操作

在查看到端口被占用后,若想进一步了解占用端口的进程详细信息,可以根据获取到的PID(进程 ID)使用ps -ef | grep PID命令。例如,已知占用 80 端口的进程 ID 为 1234,那么输入ps -ef | grep 1234,系统会输出该进程的详细信息,包括启动该进程的用户、进程的启动时间、CPU 和内存占用等,有助于我们全面了解该进程的运行状态,判断其是否为正常运行的服务进程。如果确定某个占用端口的进程是不必要的,且想要停止该进程以释放端口,可以使用kill PID命令。但要注意,使用kill命令时需谨慎,确保终止的进程不会影响系统其他正常运行的服务。对于一些顽固进程,可能需要使用kill -9 PID来强制终止,但这种方式可能会导致进程数据丢失或系统不稳定,所以在执行前要充分评估风险。
掌握在 Linux 系统中查看端口占用情况的方法,对于高效管理和维护系统网络环境至关重要,能够帮助我们快速解决网络服务部署和故障排查过程中遇到的端口冲突等问题。


拓展阅读:

1、 进程管理基础:了解 Linux 系统中进程的概念、生命周期以及进程管理命令(如 ps、kill 等)的更多用法,可更好地理解和处理占用端口的进程,提升系统运维能力。
2、 网络协议基础:深入学习 TCP、UDP 等网络协议的工作原理,明白不同协议在端口使用上的特点,有助于更准确地分析端口占用情况与网络通信之间的关系。
3、 端口扫描原理:学习端口扫描技术,包括主动扫描和被动扫描的方式,可明白黑客利用端口扫描探测系统漏洞的手段,进而加强系统安全防护,合理设置端口访问权限。

新闻资讯
热门专题
最新专题
友情链接