在使用 Linux 系统进行网络服务部署、故障排查或安全审计时,了解当前系统中哪些网络端口正在被使用是非常重要的。本文将带你从零开始,学习如何在 Linux 中查看网络端口,即使是刚接触 Linux 的小白用户也能轻松上手。
简单来说,网络端口是操作系统用来区分不同网络服务的“门牌号”。比如 Web 服务通常使用 80 端口(HTTP)或 443 端口(HTTPS),SSH 服务使用 22 端口。每个运行中的服务都会监听一个或多个端口,外部设备通过这些端口与服务通信。
在 Linux 中,有多个命令可以查看网络端口状态,下面介绍三种最常用的方法:
netstat 是一个老牌但功能强大的网络工具,可以显示网络连接、路由表、接口统计等信息。
安装(部分新系统默认未安装):
# Ubuntu/Debiansudo apt install net-tools# CentOS/RHELsudo yum install net-tools 查看所有监听的 TCP 和 UDP 端口:
netstat -tuln 参数说明:
-t:显示 TCP 端口-u:显示 UDP 端口-l:仅显示监听状态的端口-n:以数字形式显示地址和端口号(不解析主机名和服务名)ss(Socket Statistics)是 netstat 的现代替代品,速度更快、功能更强,是当前主流 Linux 发行版推荐使用的工具。
查看所有监听端口:
ss -tuln 参数含义与 netstat 类似,但 ss 默认已安装在大多数新系统中。
lsof(List Open Files)不仅能查看端口,还能显示哪个进程占用了该端口,非常适合排查问题。
安装(如未预装):
# Ubuntu/Debiansudo apt install lsof# CentOS/RHELsudo yum install lsof 查看占用 80 端口的进程:
sudo lsof -i :80 查看所有网络连接及对应进程:
sudo lsof -i 假设你发现 MySQL 数据库无法启动,怀疑 3306 端口被占用,可以这样排查:
sudo ss -tuln | grep 3306 如果看到输出,说明有服务在监听 3306。再用 lsof 查看具体进程:
sudo lsof -i :3306 输出可能类似:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEmysqld 1234 mysql 32u IPv4 12345 0t0 TCP *:mysql (LISTEN) 这说明 PID 为 1234 的 mysqld 进程正在使用 3306 端口。
掌握 Linux端口查看 技能,对日常运维和开发都至关重要。我们介绍了三种核心命令:netstat命令(传统)、ss命令(高效现代)、lsof命令(带进程信息)。建议新手优先学习 ss 和 lsof,它们更符合当前 Linux 生态的发展趋势。
下次当你需要检查服务是否正常监听、排查端口冲突或进行安全审计时,这些命令将成为你的得力助手!
本文由主机测评网于2025-11-25发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/202511677.html