Linux系统中查看端口对应的程序(快速排障)

在 Linux 系统中,经常需要排除一些运行问题,往往需要知道端口被哪些程序占用,可以通过以下命令查看端口对应的程序和进程:

使用 netstat

sudo netstat -tulnp

参数解释

• -t:显示 TCP 端口。

• -u:显示 UDP 端口。

• -l:仅显示监听中的端口。

• -n:以数字形式显示地址和端口。

• -p:显示端口对应的程序名。

输出效果:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1234/nginx
udp        0      0 0.0.0.0:123             0.0.0.0:*                           5678/ntpd

使用 ss(推荐,netstat 的现代替代工具)

sudo ss -tulnp

• 参数同 netstat,功能更强大,性能更高。

输出效果:

Netid  State    Recv-Q   Send-Q     Local Address:Port      Peer Address:Port  Process
tcp    LISTEN   0        128        0.0.0.0:22             0.0.0.0:*          users:(("sshd",pid=1234,fd=3))Code language: JavaScript (javascript)

使用 lsof

sudo lsof -i :<端口号>Code language: HTML, XML (xml)

参数解释

• -i :<端口号>:指定查看的端口号。

示例:

sudo lsof -i :80Code language: CSS (css)

输出:

COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx    1234 root    6u  IPv4  98765      0t0  TCP *:http (LISTEN)

使用 fuser

sudo fuser -n tcp <端口号>Code language: HTML, XML (xml)

• 例如:

sudo fuser -n tcp 80

输出:

80/tcp:  1234Code language: HTTP (http)

• 使用 ps 查看对应 PID 的详细信息:

ps -p 1234 -o pid,user,cmd

写在最后

• 如果需要简洁地监控所有监听的端口及对应程序,ss 是最推荐的工具。

• 如果需要排查具体端口的程序,可以结合 lsof 和 fuser 使用。

海拔科技

自媒体人,喜欢网络,热爱研究。本站头条号:星河 熊掌号:海拔科技

相关推荐

Yum:[Errno 5] [Errno 2] No such file or directory

yum安装软件时,可以连接yum 仓库,但是下载安装时失败,报错如下 这个是因为系统之前升级过python,原来版本是2.7,升级python3后,yum 调用python找不到2.7的版本了 有两个配置文件需要修改 分别将文件开头的 …

Linux下使用rsync进行单台不同目录增量备份

网络上rsync的教程基本上是基于多台服务器(2台以上)进行讲解的,今天我这里有个应用场景,因为先前使用了WebDAV挂载了个本地目录,所以就想着使用rsync进行同一台服务器不同目录增量备份。 安装rsync centos7 …

CentOS 下挂载远程WebDAV为本地目录

本文主要内容主要讲解如何在centos操作系统下通过davfs2挂载WebDAV。本文实现基于CentOS7操作系统,理论上兼容6/7/8文章开始前我们先来了解下, 什么是WebDav   WebDAV (Web-based Distributed Authoring and V …

Centos启用cockpit 远程可视化WEB管理界面

本片文章主要介绍Centos7/8如何开启cockpit远程可视化web管理界面。 开启方法 CentOS 8 运行以上命令后即可开启! CentOS7 执行后会有类似提示: Created symlink from /etc/systemd/system/sockets.target.want …