linux查看监听程序,查看TCP端口监听程序netstat和lsof差异

本文介绍如何使用netstat和lsof工具查看Linux服务器上的端口占用情况及其占用程序。通过命令展示,帮助读者掌握端口管理和排查技巧。

经常需要查看服务器上端口(例如9006端口)占用情况,以及是被哪些程序监听的。Linux上有两个工具都可以完成我们的任务: netstat和lsof。下面就分别介绍下这两个工具的查看方法。

一、netstat

0、功能:查看网络状态(具体可见man netstat)。

1、安装:一般发行版Linux都自带,如果没有,Centos下可通过如下命令安装。

yum -y install net-tools

2、参数:

## 与路由有关的参数

netstat -[rn]

## 与网络接口有关的参数

netstat -[anlptuc]

# -a 列出全部连接状态

# -n 不使用主机名和服务名,使用IP + Port

# -l 仅列出已在监听的服务状态

# -p 列出PID和Program的文件名

# -t 仅列出TCP数据包的连接

# -u 仅列出UDP数据包的连接

# -c 可以设置几秒钟后自动跟新一次

# -r 列出路由表

3、查看端口9006是否被占用,及被占用程序。

netstat -anlp | grep 9006

28e01909c3f2acc1f4f90bcfcd445c85.png

上图共有7列,每列的参数说明见下图(从左往右分别为:该连接所使用的协议、接收队列、发送队列、服务端IP端口、客户端IP端口、连接状态、使用该连接的PID/Program Name):

注:上图一开始看成了6列,还以为grep去除了相同列【捂脸】。

a63948713acf029b29f143642ab25fb1.png

如上图可以看到9006端口,是被python这个服务占用,PID为18007

# 根据查看的PID,查看具体服务信息

ps -ef | grep 18007

4、查看服务器上正在监听的服务连接

netstat -anlp

5、根据PID查端口

netstat -anlp | grep 18007

二、lsof

0、功能:lsof(list of file)列出服务器打开的文件

1、安装:如果提示lsof: command not found,可以用下面的命令安装

yum -y install lsof

2、参数:

3、查看端口9006是否被占用,及被占用程序。

lsof -i:9006

# 查看程序名使用ps

ps -ef | grep pid

f6ce8ebbc20329856eda5458fdf20fa4.png

4、根据PID查端口

lsof -i | grep 18007

参考:

《鸟哥的Linux私房菜-服务器架设篇》第5章 Linux中常用的网络命令 P138 P198

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值