Linux根据端口号查进程信息

只知道端口号不知道进程相关信息,那能不能通过端口号查询进程号呢?

使用lsof找出pid

lsof -i:22

例:

[root@xuchengen ~]# lsof -i:80
COMMAND   PID  USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
nginx   15673  root    6u  IPv4 14231513      0t0  TCP *:http (LISTEN)
nginx   15674 nginx    6u  IPv4 14231513      0t0  TCP *:http (LISTEN)

使用netstat找出pid

# 找出非监听端口
netstat -ntp | grep ":22"

例:

[root@xuchengen ~]# netstat -ntp | grep ":3389"
tcp        0      0 172.21.0.16:33464       47.96.175.183:3389      ESTABLISHED 1260/appnode-ccente 
tcp        0      0 172.21.0.16:33544       47.96.175.183:3389      ESTABLISHED 1260/appnode-ccente
# 找出监听端口
netstat -ntpl | grep ":22"

例:

[root@xuchengen ~]# netstat -ntpl | grep ":3389"
tcp        0      0 0.0.0.0:3389            0.0.0.0:*               LISTEN      1264/sshd

使用ps找出进程名

ps -ef|grep $pid

例:

[root@xuchengen ~]# ps -ef|grep 1264
root      1264     1  0 Nov05 ?        00:00:04 /usr/sbin/sshd -D
root     11148  5090  0 16:24 pts/0    00:00:00 grep --color=auto 1264