登录
首页 >  文章 >  linux

Linux端口占用查看与监控技巧

时间:2026-01-06 16:34:14 101浏览 收藏

今天golang学习网给大家带来了《Linux查看端口占用及监控方法》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

使用netstat、ss、lsof等命令可查看Linux端口占用情况,如sudo netstat -tulnp查看监听端口,sudo ss -tulnp | grep :3306查找特定端口,sudo lsof -i :5000查询指定端口进程,结合pidof与ss查服务端口,或通过/proc//net/tcp手动分析。

LINUX如何查看端口占用情况_Linux端口使用监控方法

如果您在使用Linux系统时需要排查某个端口是否被占用,或者希望了解当前系统中哪些服务正在使用特定端口,可以通过多种命令工具实现对端口占用情况的查看和监控。以下是常用的方法。

本文运行环境:Dell XPS 13,Ubuntu 22.04

一、使用 netstat 命令查看端口占用

netstat 是一个网络统计工具,能够显示网络连接、路由表、接口统计信息以及端口监听状态。尽管在较新系统中逐渐被取代,但仍广泛可用。

1、打开终端并输入以下命令以列出所有正在监听的端口:
sudo netstat -tulnp
其中 -t 显示 TCP 连接,-u 显示 UDP 连接,-l 仅显示监听状态的端口,-n 以数字形式显示地址和端口号,-p 显示占用端口的进程 ID 和程序名。

2、通过 grep 过滤特定端口,例如查看 80 端口是否被占用:
sudo netstat -tulnp | grep :80

二、使用 ss 命令检查端口使用情况

ss(Socket Statistics)是 netstat 的现代替代工具,具有更快的执行速度和更详细的输出,推荐在支持的系统上优先使用。

1、在终端中运行以下命令查看所有监听中的 TCP 和 UDP 端口:
sudo ss -tulnp
参数含义与 netstat 类似,-t 表示 TCP,-u 表示 UDP,-l 表示监听状态,-n 禁止解析服务名称,-p 显示关联进程。

2、若需查找特定端口,如 3306(MySQL),可执行:
sudo ss -tulnp | grep :3306

三、利用 lsof 命令查询端口对应的进程

lsof 可以列出打开的文件,而网络套接字在 Linux 中也被视为特殊类型的文件,因此可用于精确查找端口占用情况。

1、安装 lsof(如未预装):
sudo apt install lsof

2、查看指定端口(如 5000)被哪个进程占用:
sudo lsof -i :5000
该命令将返回进程名、PID、用户及网络相关信息。

3、若要查看所有网络连接相关的打开文件:
sudo lsof -i

四、结合 pidof 与 netstat/ss 查看特定服务端口

当已知服务名称但不确定其使用的端口时,可通过进程名反查其绑定的端口。

1、先获取服务的进程 ID,例如查看 Nginx 相关进程:
pidof nginx

2、将获取到的 PID 代入 ss 命令中查看其端口使用情况:
sudo ss -tulnp | grep
或直接使用管道组合命令:
sudo ss -tulnp | grep $(pidof nginx)

五、通过 /proc 文件系统手动查看进程网络信息

/proc 文件系统提供了内核和进程的实时信息,每个进程在其目录下的 fd 和 net 子目录中包含网络连接详情。

1、首先通过 ps 或 pgrep 找到目标进程的 PID,例如:
pgrep apache2

2、进入对应进程的 net 目录查看 socket 使用情况:
cat /proc//net/tcp
此文件列出所有 TCP 连接,其中本地地址字段中的端口号为十六进制格式,需转换后对照确认。

3、可配合工具进行端口解码,例如将十六进制端口转为十进制:
printf "%d\n" 0x1F90
该命令将十六进制 1F90 转换为十进制 8080。

今天关于《Linux端口占用查看与监控技巧》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>