Como saber qual programa está escutando numa determinada porta?

From ForNix

Primeiro execute o comando para lista quais portas estao abertas:

$ netstat -tupan
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:47080           0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:53809           0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:39295           0.0.0.0:*               LISTEN      -

Depois execute o comando para mostrar o PID do programa que abriu uma determinada porta, no caso vamos descobrir o processo que esta abrindo a porta 111:

# fuser -n tcp 111
111/tcp:              4616

Como podemos ver o PID do processo neste caso e' 4616 agora basta ver a lista de processo que tem este PID:

# ps ax | grep 4616
 4616 ?        Ss     0:00 /sbin/portmap

Pronto, descobrimos que o portmap e' o programa que abriu a porta 111. O mesmo pode ser feito para qualquer outra porta, apenas tome o cuidado de verificar se a conexao na porta e' tcp ou udp e mudar o parametro do fuser de acordo com o tipo da conexao.


Outro modo é usar a seguinte opção:

 fuser -vn udp 631
                     COMANDO DE ACESSO DO USUÁRIO PID
631/udp:             root       5663 F.... cupsd

Assim temos o programa que está utilizando a porta, em uma linha de comando apenas!

Ferramentas pessoais