首页 > 技术文章 > AIX中查找端口号和进程

jjzd 2017-01-19 11:58 原文

1、由端口号查找进程

 

维护系统或检查到不明的端口自然要去查一下这个端口是由哪个进程来监听的
windows可以用命令netstat -ano来查端口对应的进程的pid.

aix却并不能,aix需要使用下面的命令过程:

1、netstat查看端口信息
netstat -Aan|grep  6666
 
终端输出
f10005000037cbb0 tcp4       0      0  172.17.252.214.501 172.17.252.8.6666  ESTABLISHED
f1000500002bc3b0 tcp4       0      0  172.17.252.214.508 172.17.252.5.6666  ESTABLISHED
f10005000bb70bb0 tcp4       0      0  172.17.252.214.525 172.17.252.8.6666  ESTABLISHED

2、如果是TCP连接,则使用:
rmsock f10005000037cbb0 tcpcb
 
   如果是UDP连接,则使用:
rmsock f10005000037cbb0 inpcb
 
输出结果:
The socket 0x37c808 is being held by proccess 11796492 (flow).
 
3、根据PID查询详细信息
ps -ef|grep 11796492

那么反过来又要如何做呢,知道进程服务pid,查找其通信端口号

Linux中可以netstat -anp 选项p,aix中却不行,应该使用上面方法的反向查询。

#netstat -Aan | awk '{print $1}' | while read line; do echo "$line `rmsock $line tcpcb | awk '{print $(NF-1)}'`";done >> myfile0119.txt 2>&1


# grep 14680290 myfile0119.txt
f1000e000021cbb8 14680290

# netstat -Aan | grep "f1000e000021cbb8"
f1000e000021cbb8 tcp4       0      0  *.5000               *.*                   LISTEN

验证
# netstat -Aan | grep 5000
f1000e000021cbb8 tcp4       0      0  *.5000               *.*                   LISTEN

OK  完成逆向查询。

推荐阅读