通过端口号查找对应进程


文章目录


前言

在Linux和AIX系统中有时候会遇到需要根据端口号去查找端口对应进程的场景,可使用以下方式实现


一、Aix系统中通过端口号查找端口对应进程方式:

​在Aix系统中可通过 netstat命令 + rmsock命令 相结合的方式实现​

rmsock除去不包含文件描述符的套接字。

它接受 socket、tcpcb、inpcb、ripcb 或 rawcb 地址并将其换成套接字地址。

然后检查每个进程所有打开的文件以查找套接字的匹配。如果没找到匹配,对该套接字执行异常终止操作,而不考虑套接字 linger 选项的存在。

套接字保留的端口号释放。如果发现匹配,文件描述符和主进程状态显示给用户。

1、Aix系统查找某个端口号是否被监听:

# netstat  -Aan | grep 6200 | grep LISTEN
f1000e0000307bb0 tcp4 0 0 *.6200 *.* LISTEN

(注:其中f1000e0000307bb0 为系统内核地址)

2、使用rmsock 命令查找出进程号

命令格式:rmsock Address TypeofAddress

# rmsock f1000e0000307bb0 tcpcb
The socket 0x307808 is being held by proccess 5701830 (ons).
(注:结果中的"5701830" 为进程号)

3、通过步骤2中结果中找到的进程号,结合ps -ef命令查找到对应的进程名

ps  -ef | grep 进程号

Aix和linux 通过端口号查找端口对应进程_端口号

二、linux下查看端口对应进程方式:

1、linux下查看22端口占用情况两种方式:
1) netstat -anl | grep "22"
2) lsof -i:22

Aix和linux 通过端口号查找端口对应进程_linux_02