当前位置:首页 > 服务器技术 > 正文

Linux网络端口查看(小白也能轻松掌握的端口监控技巧)

在使用 Linux 系统进行网络服务部署、故障排查或安全审计时,了解当前系统中哪些网络端口正在被使用是非常重要的。本文将带你从零开始,学习如何在 Linux 中查看网络端口,即使是刚接触 Linux 的小白用户也能轻松上手。

Linux网络端口查看(小白也能轻松掌握的端口监控技巧) Linux端口查看 netstat命令 ss命令 lsof命令 第1张

什么是网络端口?

简单来说,网络端口是操作系统用来区分不同网络服务的“门牌号”。比如 Web 服务通常使用 80 端口(HTTP)或 443 端口(HTTPS),SSH 服务使用 22 端口。每个运行中的服务都会监听一个或多个端口,外部设备通过这些端口与服务通信。

常用查看端口的命令

在 Linux 中,有多个命令可以查看网络端口状态,下面介绍三种最常用的方法:

1. 使用 netstat 命令(传统方法)

netstat 是一个老牌但功能强大的网络工具,可以显示网络连接、路由表、接口统计等信息。

安装(部分新系统默认未安装):

# Ubuntu/Debiansudo apt install net-tools# CentOS/RHELsudo yum install net-tools

查看所有监听的 TCP 和 UDP 端口:

netstat -tuln

参数说明:

  • -t:显示 TCP 端口
  • -u:显示 UDP 端口
  • -l:仅显示监听状态的端口
  • -n:以数字形式显示地址和端口号(不解析主机名和服务名)

2. 使用 ss 命令(现代推荐)

ss(Socket Statistics)是 netstat 的现代替代品,速度更快、功能更强,是当前主流 Linux 发行版推荐使用的工具。

查看所有监听端口:

ss -tuln

参数含义与 netstat 类似,但 ss 默认已安装在大多数新系统中。

3. 使用 lsof 命令(查看进程关联)

lsof(List Open Files)不仅能查看端口,还能显示哪个进程占用了该端口,非常适合排查问题。

安装(如未预装):

# Ubuntu/Debiansudo apt install lsof# CentOS/RHELsudo yum install lsof

查看占用 80 端口的进程:

sudo lsof -i :80

查看所有网络连接及对应进程:

sudo lsof -i

实战示例:找出谁在用 3306 端口?

假设你发现 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命令(带进程信息)。建议新手优先学习 sslsof,它们更符合当前 Linux 生态的发展趋势。

下次当你需要检查服务是否正常监听、排查端口冲突或进行安全审计时,这些命令将成为你的得力助手!